方法所在的線程是Java程序最后結束的線程?
要實現這個情況,必須知道以下幾點
1、java中線程的結束是由run方法運行完成后自動結束的
2、在main線程(主線程)中,需要得到所有線程的引用。
3、知道jdk提供的CountDownLatch的用法
例子如下:
public static void main(String[] args) throws InterruptedException
{
//CountDownLatch作為計數器紀錄有幾個線程,例如有2個線程
CountDownLatch latch=new CountDownLatch(2);
Worker worker1=new Worker( latch);
Worker worker2=new Worker(latch);
worker1.start();// 啟動線程
worker2.start();//
//等待所有工人完成工作
latch.await();
System.out.println("all work done at "+sdf.format(new Date()));
}
class Worker extends Thread
{
private CountDownLatch latch;
public Worker(CountDownLatch latch)
{
this.latch = latch;
}
public void run()
{
xxxxx
//在run方法結束之前,講線程計數器減一
latch.countDown();
}
}
下一篇導入項目啥意思