The java life

My working life with java
随笔 - 7, 文章 - 0, 评论 - 2, 引用 - 0
数据加载中……

Java Executors

今天要做的东西需要用到多线程执行一系列的Task,查了一下网络,决定用java的Executors来做。下面是写的一段测试代码。

TestTask.java     

public class Main {
    
public static void main(String[] args) {
        TestThread[] tt
=new TestTask[10];
        ExecutorService pool
=Executors.newFixedThreadPool(5);
        
for(int i=0;i<10;i++    ){
            tt[i]
=new TestTask(i);
            pool.execute(tt[i]);
        }
        pool.shutdown();
        
try {
            pool.awaitTermination(
100, TimeUnit.SECONDS);
        } 
catch (InterruptedException ex) {
            Logger.getLogger(Main.
class.getName()).log(Level.SEVERE, null, ex);
        }
        System.out.println(
"Finished");

    }
很简单的一段代码,注意在Main.java中,shutdown()是必须要调用的,不然ExecutorService不会关闭,程序不会退出。
整个程序的执行结果正如你所想看到的,会先执行完前五个task,然后再执行后五个,最后打印"Finished"并退出。

posted on 2009-12-12 18:13 施德明 阅读(856) 评论(1)  编辑  收藏

评论

# re: Java Executors  回复  更多评论   

blog的格式真难调,郁闷。
2009-12-12 18:18 | 施德明

只有注册用户登录后才能发表评论。


网站导航: