好多源码都没有。比如书本157页上的码在哪里。全局搜索没找到。
你好:关于本书49页的清单2-7中在TimeConsumingTask类中的toCancel变量定义中:private boolean toCancel = false;修改为:private volatile boolean toCancel = false;后,运行程序还是死循环的状态,也就是添加volatile前后是一样的结果,请问是什么原因呢?
这里作者代码有BUG,即使加了volatile,但前面Thread.start方法中调用的实例是一个新实例,而这个新实例从未调用过cancel方法,也从未改变过toCancel的值
我试了试能解决这个问题 TimeConsumingTask timeConsumingTask = new TimeConsumingTask(); Thread thread = new Thread(new TimeConsumingTask()); 改成下面的代码: TimeConsumingTask timeConsumingTask = new TimeConsumingTask(); Thread thread = new Thread(timeConsumingTask); 感谢大佬@shootheron
从这个网页下载代码压缩包以后,把代码导入到Eclipse中之后,项目J**aMultiThreadInAction老是报一个错误:Description Resource Path Location TypeProject ‘J**aMultiThreadInAction’ is missing required J**a project: ‘J**aConcurrencyPatternInAction’ J**aMultiThreadInAction Build path Build Path Problem,请问这个J**aConcurrencyPatternInAction项目是忘记放入压缩包了吗?这个J**aConcurrencyPatternInAction是J**aMultiThreadInAction所依赖的必须的项目吗?
好多源码都没有。比如书本157页上的码在哪里。全局搜索没找到。
@管理员:
请问电子版的是那种形式?是文字版的还是扫描版的?
@管理员:
请问电子版的是那种类型的,是文字版本的还是扫描版本的?
你好:关于本书49页的清单2-7中在TimeConsumingTask类中的toCancel变量定义中:
private boolean toCancel = false;
修改为:
private volatile boolean toCancel = false;
后,运行程序还是死循环的状态,也就是添加volatile前后是一样的结果,请问是什么原因呢?
从这个网页下载代码压缩包以后,把代码导入到Eclipse中之后,项目J**aMultiThreadInAction老是报一个错误:Description Resource Path Location Type
Project ‘J**aMultiThreadInAction’ is missing required J**a project: ‘J**aConcurrencyPatternInAction’ J**aMultiThreadInAction Build path Build Path Problem,请问这个J**aConcurrencyPatternInAction项目是忘记放入压缩包了吗?这个J**aConcurrencyPatternInAction是J**aMultiThreadInAction所依赖的必须的项目吗?