《Thinking in Java》书中一个关于自管理的Runnable的问题

不是很理解为什么start()在构造器中执行,会有可能让任务在对象不稳定的状态下执行?
我的理解是这样的,连着创建两个SelfManaged对象,就算前一个对象构造器没执行完成,后一个对象已经开始执行任务,两者好像并没有什么影响呀?也没有共享一个Thread,这里说的“可能会变得很有问题”的问题是指什么情况?
还是说我理解错了什么?请指教,谢谢

图片说明
图片说明

1个回答

简单举一个例子,如果写了t.start()的构造器是一串很长的代码,而t.start()是在第一行,当构造器里面变量赋值还没有结束的时候,线程就已经开始了,但是SelfManaged类还没有构造完成,你说这个时候会不会有问题存在呢

Three_Y
Three-Y 因为书中说是“另一个任务”,所以就理解成这是两个SelfManaged之间的问题,然后就觉得貌似两者间并没有多大影响;但如果是一个SelfManaged之间可能出问题,那我懂了,谢谢。不知道这是不是翻译造成的误解呢?
6 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问