不确定这个D类线程是否正确。是否存在竞态条件?当访问 i
时,是否应该在同步块中?如果D是外部类,并且A实例被传递给D构造函数会怎样呢?
class A
{
int i;
void f() {
i++;
D d = new D();
d.start();
}
class D extends Thread {
public void run() {
int g = i;
}
}
}
Thread
被认为是不好的做法。 - pickypgi
的值,并且没有任何线程会修改i
的值。 - xagyg