摘要:
实现需求: 开启2个线程,1个线程对某个int类型成员变量加1,另外1个减1,但是要次序执行,即如果int型的成员变量是0,则输出01010101这样的结果 代码如下 需求稍作改变,变成: 开启4个线程,2个线程对某个int类型成员变量加1,另外2个减1,但是要次序执行,即如果int型的成员变量是0 阅读全文
摘要:
看一个例子,背景是,银行卡里有1000块钱,在柜台取800块钱,在提款机取800块钱,理论上来说,这个是不允许的 看看实现代码 执行的结果是 1000块钱的余额居然真的取出2次800块钱了 问题的根源在于,2个线程会同时访问一个实例的某个成员变量,2条线程判断条件时成员变量的值均可能是还没取钱时候的 阅读全文
摘要:
1.什么叫线程:线程就是程序中单独顺序的流控制。线程本身不能运行,它只能用于程序中。Java中如果我们自己没有产生线程,那么系统就会给我们产生一个线程,这个线程叫主线程,main方法就在主线程运行。2.线程与进程的区别:(1)多个进程的内部数据和状态都是完全独立的,而... 阅读全文