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

2016年6月28日 由 Creater 留言 »
	private abstract class WorkThread extends Thread {  
		private boolean suspend = false;  
		private String control = ""; // 只是需要一个对象而已,这个对象没有实际意义  
		private volatile  boolean exit = false;
		public void setSuspend(boolean suspend) {  
			if (!suspend) {  
				synchronized (control) {  
					control.notifyAll();  
				}  
			}  
			this.suspend = suspend;  
		}  
		
		public boolean isSuspend() {  
			return this.suspend;  
		}  
		public void setExit(boolean f){
			exit = f;
		}
		public void run() {  
			while (!exit) {  
				synchronized (control) {  
					if (suspend) {  
						try {  
							control.wait();  
						} catch (InterruptedException e) {  
							e.printStackTrace();  
						}  
					}  
				}  
				this.runPersonelLogic();  
			}  
		}  
		protected abstract void runPersonelLogic(); 
	}
			workThread = new WorkThread() {  
					protected void runPersonelLogic() {  
						
						}

				};  
				workThread.start();
广告位

发表评论

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