课程
/后端开发
/Java
/细说多线程之Thread VS Runnable
难道执行时值传递了一下?
2015-02-24
源自:细说多线程之Thread VS Runnable 2-3
正在回答
你好,ticketsCont是实例变量,它的值自然是存在堆中(每个java对象在堆中都会占据一定内存,而实例变量的值就是存储在这块内存中,类似于结构体,因此每个对象对应一个ticketsCont的值),ticketsCont跟值传递没有关系啊,如果是Runnable方式的话,传递的也只是MyThread对象引用的副本,不管ticketsCont的事,但是因为ticketsCont的值在引用和引用副本所指向的堆内存中,所以无论是引用还是引用副本改变了堆内存中ticketsCont的值,都会产生效果!
举报
认识Thread和Runnable的区别,以及使用jstack生成线程快照
1 回答一个CPU里怎么会有两个线程同时存在
1 回答关于老师说的线程1不抢夺时间片的问题
1 回答主线程和守护线程问题
1 回答runnable 线程
2 回答为什么在线程1的执行过程中还会被抢占资源?至少也得等run方法执行完才被抢占吧?