У меня есть 2 темы в моей программе следующим образом:Thread Синхронизация
class SendThread implements Runnable {
public void run(){
Thread.sleep(1000);
while (true){
if (CONNECTION_ESTABLISHED){
// code here
}
}
}
}
class ReceiveThread implements Runnable {
public void run(){
while (true){
// code here
CONNECTION_ESTABLISHED = true;
}
}
}
Я определил CONNECTION_ESTABLISHED
как static Boolean
.
Во второй резьбе Boolean
CONNECTION_ESTABLISHED
установлен в true
в определенный момент. Если я не использую Thread.sleep(1000)
в 1-й строке, после того, как CONNECTION_ESTABLISHED
установлено в true
во 2-м потоке, я не вношу соответствующий if
оператор в 1-й поток.
Есть ли другой способ обойти это? Потому что мой 1-й поток часто зависит от переменных изменений во втором потоке.
Благодарим за редактирование этого Мартина. Как помещать переменные в этот серый квадрат, как вы? –