Я пытаюсь иметь Резьба2 ждать строк и Резьба1 уведомить об обновлении Струнного, я синхронизировать объект String, как код ниже показывает, но я все еще получаю IllegalMonitorStateException
Вот мой кодJava синхронизируется Строка IllegalMonitorStateException
public class Class1{
String string = "";
public Class1(){
Thread t1 = new Thread(){
public void run(){
synchronized(string){
string = "Something"; string.notifyAll(); //This is the line that throws an IllegalMonitorStateException
}
}
};
Thread t2 = new Thread(){
public void run(){
synchronized(string){
try{
string.wait();
}catch(Exception e){
e.printStackTrace();
}
}
}
};
t2.start();
t1.start();
}
}
Там нет ничего, кроме StackTrace подсветки string.notifyAll()
Я не получаю 'IllegalMonitorStateException'. – Braj
Когда вы говорите об «обновлении строки», нужно предположить, что * экземпляр *, который представлен переменной 'string', изменяется (и, конечно, код, который вы указали, - это * не * код, вызывающий ошибка) – Marco13
@Braj Я полагал, что это может быть проблема BlackBerry @ Marco13 да Я меняю значение 'string' – s3nzoM