首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络技术 > 网络基础 >

Java 怎么在Main函数中,执行完异步任务后才退出主线程

2013-10-17 
Java 如何在Main函数中,执行完异步任务后才退出主线程如题,有时候我们需要在Main函数中写测试代码,并且需

Java 如何在Main函数中,执行完异步任务后才退出主线程

如题,有时候我们需要在Main函数中写测试代码,并且需要在异步线程中执行任务,任务执行完之后才退出主线程,如何做到的呢,请看如下代码:


public class TestMain {/** * @param args */public static void main(String[] args) {System.out.println("-------work------start---------");LockHandler mHandler=new LockHandler();Thread mThread=new Thread(new WorkRunnable(mHandler));mThread.setDaemon(true);mThread.start();mHandler.waitForDebug();System.out.println("-------work------end---------");}public static class WorkRunnable implements Runnable{public LockHandler mHandler;public WorkRunnable(LockHandler mHandler) {this.mHandler = mHandler;}public void run() {//TODO try {Thread.sleep(5000);} catch (InterruptedException e) {e.printStackTrace();}System.out.println("-------我在异步线程中睡了五秒---------");mHandler.notifytForDebug();}}public static class LockHandler{public synchronized void waitForDebug(){try {this.wait();} catch (InterruptedException e) {e.printStackTrace();}}public synchronized void notifytForDebug(){this.notifyAll();}}}


执行结果:

-------work------start---------
-------我在异步线程中睡了五秒---------
-------work------end---------


只需要重写WorkRunnable类的run()方法,so easy ! 



热点排行