Eclipse 用のデバッガーを実装しようとしています。このためorg.eclipse.core.runtime.jobs.Job;
に、デバッグ デバイスがブレークポイントに到達したときに、Objetct を使用してイベントを処理したいと考えています。この場合thread.resume()
は戻ります。スレッドが中断されていても、Job
スリープしません:
Output:
program suspended
cannot sleep
<repeat to infinity>
これはコードです:
@Override
protected IStatus run(IProgressMonitor monitor) {
while (isTerminated() == false) {
try {
if (thread.isSuspended() == true) {
System.out.println("program suspended");
if(sleep() == true) { // wait for someone to wake me up
System.out.println("job is sleeping");
} else {
System.out.println("cannot sleep");
}
} else {
thread.resume();
}
} catch (DebugException e) {
e.printStackTrace();
}
}
return Status.OK_STATUS;
}
助けてくれてありがとう。