11智能在线
新记
java 两程序 如图 第一个程序j输出永远是1(0+1之后),而第二个程序count输出三次分别是1,2,3 为什么?
如题所述
举报该文章
其他看法
第1个回答 2015-08-11
很明显,第一种方式,你新建了三个对象 ,他们的线程毫不相干,各自跑各自的,成员变量也是各自对象的 ,不会共享的 ,所以j永远是1。
但是第二种方式 只是new了一次目标对象 ,但是线程创建了三个,然后把目标对象放入三个线程中,在这种方式下,可以多个线程共享同一个目标对象,所以非常适合多个相同线程来处理同一份资源的情况,成员变量是共享的所以会出现count增加。
这其实也是俩种线程创建方式不同的优劣区分之一。本回答被提问者采纳
相似回答
大家正在搜
相关问题
java初级问题,为什么第一个程序输出ture,第二个输出f...
用Java写一个程序:使其输出从A-Z的排序字母
如何用java编写一元二次方程的求根问题
java如何产生1-10随机数
写个java程序求一个数的绝对值
大神来看下这个java程序为什么输出结果是1.0
编写一个JAVA程序,在一个4x4的矩阵中随机填入0和1,打...
java问题:求解为什么这个程序输出的是0,1 而不是0,1...