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.