Java에서 간단한 대기/통지 예제로 작업 중이므로 어떤 이유로 든 제대로 실행하지 못했습니다. 누구든지이 문제가 무엇인지 알 수 있다면 매우 감사하겠습니다!Java 대기/통지 작동하지 않음
public class ThreadDemonstration
{
private String str = null;
Thread stringCreator = new Thread(new Runnable()
{
public void run()
{
synchronized(this)
{
str = "I have text";
notify();
}
}
});
private Thread stringUser = new Thread(new Runnable()
{
public void run()
{
synchronized(this)
{
if(str == null)
{
try {
System.out.println("str is null, I need help from stringCreator");
wait();
System.out.println(str);
}
catch (InterruptedException e)
{
e.printStackTrace();
}
}
}
}
});
public static void main (String [] args)
{
ThreadDemonstration td = new ThreadDemonstration();
td.stringUser.start();
td.stringCreator.start();
}
은}
내 전류 출력은 다음과 같습니다 STR가 null, 내가 그래서 어떤 이유로 스레드 stringCreator가 stringUser 일어나하지 않거나 내가 놓친 거지
stringCreator의 도움이 필요합니다 완전히 다른 것?
감사합니다.
''새 Runnable() {...}'에서 'this'의 가치는 무엇이라고 생각하십니까? – Pshemo
감사합니다. –