【发布时间】:2013-08-10 09:44:32
【问题描述】:
我即将为 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;
}
感谢您的帮助。
【问题讨论】:
标签: java eclipse multithreading debugging eclipse-plugin