项目总结:一种Java线程暂停、运行方法

2016年6月28日 由 Creater 留言 »
private abstract class SendThread extends Thread {  

		private boolean suspend = false;  

		private String control = ""; // 只是需要一个对象而已,这个对象没有实际意义  

		public void setSuspend(boolean suspend) {  
			if (!suspend) {  
				synchronized (control) {  
					control.notifyAll();  
				}  
			}  
			this.suspend = suspend;  
		}  

		public boolean isSuspend() {  
			return this.suspend;  
		}  

		public void run() {  
			while (true) {  
				synchronized (control) {  
					if (suspend) {  
						try {  
							control.wait();  
						} catch (InterruptedException e) {  
							e.printStackTrace();  
						}  
					}  
				}  
				this.runPersonelLogic();  
			}  
		}  
		protected abstract void runPersonelLogic(); 
	}

SendThread sendThread = new SendThread() {
protected void runPersonelLogic() {
}
};

广告位

发表评论

你必须 登陆 方可发表评论.