private_gqd
2016-01-19 00:55
源代码改成:
armyOfSuiDynasty.keepRunning=false;为什么会报无法获取?
而
armyTaskOfSuiDynasty.keepRunning = false;又能获取?
keepRunning 这个属性在定义的时候,必须添加volatile关键字,否则其他线程将不能获取这个值
keepRunning是在Runnable里面定义的,当然是用ArmyRunnable的实例armTaskOfSuiDynasty来调用啊。。。而armyOfSuiDynasty是Thread的实例,肯定不能直接调用keepRunning!
keepRunning 这个属性在定义的时候,必须添加volatile关键字,否则其他线程将不能获取这个值
深入浅出Java多线程
186088 学习 · 464 问题
相似问题