线程1的ticketsCont存储在哪里?

来源:2-3 应用Runnable模拟卖票

宝慕林3329632

2015-02-24 22:43

难道执行时值传递了一下?

写回答 关注

1回答

  • MartonZhang
    2015-02-26 14:58:33

    你好,ticketsCont是实例变量,它的值自然是存在堆中(每个java对象在堆中都会占据一定内存,而实例变量的值就是存储在这块内存中,类似于结构体,因此每个对象对应一个ticketsCont的值),ticketsCont跟值传递没有关系啊,如果是Runnable方式的话,传递的也只是MyThread对象引用的副本,不管ticketsCont的事,但是因为ticketsCont的值在引用和引用副本所指向的堆内存中,所以无论是引用还是引用副本改变了堆内存中ticketsCont的值,都会产生效果!

细说多线程之Thread VS Runnable

认识Thread和Runnable的区别,以及使用jstack生成线程快照

55327 学习 · 68 问题

查看课程

相似问题