利用Thread Stop来停止主线程

我的需求很简单,主线程中有个任务很耗时,我需要异步初始化,但是如果异步初始化失败,需要将主线程中断,这里主线程不会等待异步线程的消息,他会有很多个异步线程来做任务同时会有自己的任务,所以他需要一直运行下去,从而需要异步线程主动来打断主线程的运行,想来想去还是使用stop方法靠谱些,虽然偶知道他不安全,其实我这里不需要考虑这些,主线程被中断了,我去重启主线程,主线程占据的资源也会由于kill而被释放掉。

 

	final Thread t = Thread.currentThread();

		new Thread() {
			public void run() {
				try {
					Thread.sleep(5000);
				} catch (InterruptedException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
				t.stop(new Error("XXX init Error"));
			}
			
		}.start();
		
		while(true) {
			Thread.sleep(100);
		}
 

   我需要从线程第一时间就能中断主线程,他虽然异步但是很重要

你可能感兴趣的:(thread)