자바 라인의 시작, 정지, 계속
메인 라인에서wait,notify,notifyAll을 통해 파일을 읽는 라인 (하위 라인) 을 제어하고 오류를 보고합니다:java.lang.IllegalMonitorStateException.
주의해야 할 몇 가지 문제:
public class ReadThread implements Runnable{
public Thread t;
private String threadName;
boolean suspended=false;
public ReadThread(String threadName){
this.threadName=threadName;
System.out.println("Creating " + threadName );
}
public void run() {
for(int i = 10; i > 0; i--) {
System.out.println("Thread: " + threadName + ", " + i);
// Let the thread sleep for a while.
try {
Thread.sleep(300);
synchronized(this) {
while(suspended) {
wait();
}
}
} catch (InterruptedException e) {
System.out.println("Thread " + threadName + " interrupted.");
e.printStackTrace();
}
System.out.println("Thread " + threadName + " exiting.");
}
}
/**
*
*/
public void start(){
System.out.println("Starting " + threadName );
if(t==null){
t=new Thread(this, threadName);
t.start();
}
}
/**
*
*/
void suspend(){
suspended = true;
}
/**
*
*/
synchronized void resume(){
suspended = false;
notify();
}
}
이상은 본문의 전체 내용입니다. 본고의 내용이 여러분의 학습이나 업무에 일정한 도움을 줄 수 있는 동시에 저희를 많이 지지해 주시기 바랍니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
38. Java의 Leetcode 솔루션텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.