0
如何ClassThread
可以訪問variable var
來自Class1
的實例創建了這個ClassThread
實例?引用適當的對象實例volatile變量
ClassThread
public class ClassThread implements Runnable {
@Override
public void run() {
}
}
的Class1
public class Class1 implements Runnable{
public volatile String var;
public Class1() {
}
@Override
public void run() {
for(int i = 0; i < 5; i++){
ClassThread ct = new ClassThread();
Thread t = new Thread(ct);
t.start();
}
}
}
主
public class Main{
public static void main(String[] args) {
for(int i = 0; i < 3; i++){
Class1 cla = new Class1();
Thread t = new Thread(cla);
t.start();
}
}
}
,然後轉換到通過volatile變量將是可見的另一個線程? –
字符串是不可變的,你不能改變它。如果它是一個List或一個數組,那麼是的,你可以改變一個線程中的內容,然後其他線程會看到這些改變。但是有競爭條件和丟失更新的潛在可能性,請確保您在從多個線程更改變量之前理解同步。 –
感謝您的回答 –