java process control

使用线程进行流程控制时,一般会有诸如stopping ,suspending 之类的需求.jdk1.6中suspend(),resume()标明已经过时了,得另找解决方法.
场景一,如果在一个线程中读去一个数据,并等待一定时间,如果则暂停线程.
   public final void cancel() {
      try {
	    this.interrupt();
		} catch (Exception e) {
		e.printStackTrace();
		return;
	}
   } 
   
   public void run(){
   	isReadedFlag = XX.get(parameter);
        while(true)
        {
	 try{   
               this.sleap(time);
               if(isReadedFlag) this.cancel();
             }catch(InterruptedException interrupted)
             {
              break;
             }
        }
   }

   场景二,直接停止线程.
   找到时间点,如下:
  
   public void setStopFlag(){
      stopFlag=stop;
   }
   
   public void run(){
     process....
     /*time point :*/
       if(stopFlag) return;
     process....
     /*time point :*/
       if(stopFlag) return;
   }

你可能感兴趣的:(java)