我得到了一个采访,询问如下问题的领域: -Java线程访问对象
在Java中,有一个场中的物体,如下面给出的...
public class MyObject
{
int count=0;
public synchronized void m()
{
for(int j=0; j< 1000; j++)
{
System.out.println(Thread.currentThread().getName()+"-> "+j);
count++;
}
System.out.println(Thread.currentThread().getName()+" completed ->"+count);
}
}
这里,在同步方法中访问字段“count”,并且该字段未声明为易失性。
会有什么实际的行为,如果一个线程T1访问方法米()其被同步,并且使用字段“计数”在其内,同时另一个线程T2尝试访问该字段“计数“直接?
对于线程t2,当你说access时,你的意思是只读吗? – Knox
是的,只读。它会读取更新后的值还是会出现竞态状况? –