阅读背景:

Java多线程之ThreadPoolExecutor

来源:互联网 

1.ExecutorService demo

package com.ccy.thread.demo;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

/**
 * 
 * <p> 
 * Title: ThreadPoolTest.java 
 * Package com.ccy.thread.demo 
 * </p>
 * <p>
 * Description: 线程池简单demo
 * <p>
 * @author Tom.Cai
 * @created 2015-12-30 下午10:45:14 
 * @version V1.0 
 *
 */
public class ThreadPoolTest {
	public static void main(String[] args) {
		//创建一个可重用固定线程数的线程池,以共享的无界队列方式来运行这些线程。
		ExecutorService threadPool = Executors.newFixedThreadPool(3);
		for (int i = 0; i < 6; i++) {
            Runnable worker = new workThread(String.valueOf(i));
            threadPool.execute(worker);
          }
		//启动一次顺序关闭,执行以前提交的任务,但不接受新任务。
		threadPool.shutdown();
		//  如果关闭后所有任务都已完成,则返回 true。
        while (!threadPool.isTerminated()) {
        	
        }
        System.out.println("all threads Finished");
	}
}


class workThread implements Runnable{
	private String command;
	
	
	
	public workThread(String command){
		this.command = command;
	}
	
	@Override
	public void run() {
		System.out.println(Thread.currentThread().getName()+" Start time-"+command);
		try {
			Thread.sleep(5000);
		} catch (Exception e) {
			e.printStackTrace();
		}
        System.out.println(Thread.currentThread().getName()+" End !!!");
	}
	
}package com.ccy.thread.



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: