我正在编写一些Java代码,并有一个人为的示例,并且我不确定这是否是线程安全代码。
基本上,我有一个while循环来检查布尔值,我想从另一个线程将该布尔值设置为false。
注意以下几点
public void start() {
mRunning = true;
thread = new Thread()
{
public void run()
{
while (mRunning) {
}
}
}
thread.start();
}
然后我在该类上有一个可变器,可以从另一个线程调用它。
public void stop() {
mRunning = false;
}
这段代码会导致不良行为吗?如果是这样,我应该只是这样做吗?
public void stop() {
sychronized(this) {
mRunning = false;
}
}
慕虎7371278
蛊毒传说
相关分类