当前位置: 代码迷 >> Eclipse >> 为什么在使用Eclipse的Job时,sleep()根本不能挂起该Job呢?解决办法
  详细解决方案

为什么在使用Eclipse的Job时,sleep()根本不能挂起该Job呢?解决办法

热度:343   发布时间:2016-04-23 14:13:08.0
为什么在使用Eclipse的Job时,sleep()根本不能挂起该Job呢?
我使用Eclipse的Job来进行线程处理,看介绍就像使用sleep()能够挂起该线程,但实际使用中却没有效果?
Job job = new Job("Job Name"){
  protected IStatus run(IProgressMonitor monitor) {
  System.out.println("------>Job.1");
  sleep();
  System.out.println("--------->Job.2");
  return Status.OK_STATUS;
  }
 };
 job.schedule(2000);

我希望能够在打印"------>Job.1"后,该线程被挂起,但实际上是"--------->Job.2"会紧接着被输出,为什么?

------解决方案--------------------
A job can also be in the SLEEPING state. This happens if a user calls Job.sleep() on a waiting job, or if a job is scheduled to run after a specified delay. Only jobs in the WAITING state can be put to sleep. Sleeping jobs can be woken at any time using Job.wakeUp(), which will put the job back into the WAITING state. 


------解决方案--------------------
不是没有挂起,而是挂起后立即又被唤醒了吧,一来该线成任务未完成,就是还得打印System.out.println("--------->Job.2"),二来没有正在等待的线程继续工作吧。。。

------解决方案--------------------
友情up~
------解决方案--------------------
路过,帮顶。。。。
------解决方案--------------------
sleep加个时间看下,设个6×1000的,
  相关解决方案