0
我有線程類有兩個變量var1
和var2
可能會從不同的線程訪問。我們可以假設使用var2
通過獲得和setter是一樣的使用volatile
var1
沒有他們嗎?易變的變量和同步的setter和getter
public class Processor extends Thread
{
public volatile boolean var1 = false
private boolean var2 = false
synchronized boolean getVar2()
{
return var2;
}
synchronized boolean setVar2 (boolean value)
{
return var2=value;
}
public void run()
{
...
}
}
只要將變量設置爲易失性,就不能代替同步,如果這就是您要求的? – imrichardcole
那個二傳手的身體背後有什麼想法? '返回var2 =值;'這是不正常的,所以需要知道你想在那裏實現什麼。 – weston
另外var1是一個非最終的公共布爾值,不知道以上是真實代碼還是僅僅爲了演示一個例子,但它可能是個壞消息...... – imrichardcole