2
我在主類中創建了10個相同的線程(僅通過主鍵從1到10區分)。在每個線程中,我需要讀取前一個線程中的字段,即線程5中的字段。我需要在線程4中讀取此字段。問題是,我該怎麼做?在Java中的線程之間傳遞變量
public class Player extends Thread {
private Integer playerNumber;
public char lastDigit;
public Player(Integer playerNumber) {
super();
this.playerNumber = playerNumber;
}
public synchronized char getDigit(){
return this.lastDigit;
}
public synchronized void setDigit(char digit){
massage += digit;
this.lastDigit = digit;
try {
Thread.sleep(1);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
public void run(){
}
我需要閱讀lastDigit字段。提前:)
差不多我最喜歡的課程:) – Adam 2012-03-09 22:21:59
爲什麼你需要一個集合來讀取一個數字? – GETah 2012-03-09 22:29:35
非常真實,我編輯說Exchanger可能是最適合他的應用程序。使用交換器,交換方法會阻塞,直到線程之間發生「握手」。所以只要他總是試圖與先前的線程交流(認爲餐飲哲學家的問題),這是一個不錯的選擇:) – 2012-03-09 22:38:53