java线程池

java线程池:
package com.thread.test;

import java.util.concurrent.Executors;
import java.util.concurrent.ThreadPoolExecutor;

public class TianyaTest {
	public static void main(String[] args) throws Exception {
		//创建线程池对象.
		//ThreadPoolExecutor service = (ThreadPoolExecutor) Executors.newFixedThreadPool(3);
        ExecutorService pool = Executors.newFixedThreadPool(3);
		while(true){
			for(int i=0; i<10; i++){
				service.execute(new RunnableImpl());
			}
			Thread.sleep(10000);
		}

		// 安排若干个任务运行
		// 结束线程池.shutdown() 不会马上结束,而是等所有安排的任务执行完才结束。
//		service.shutdown();
		
		// 如果不想马上结束,又不愿意等太长时间,那么可以调用 awaitTermination() 方法等待一段时间
//		service.awaitTermination(10, TimeUnit.SECONDS);
//		System.err.println("等待时间已过");
//              pool.isTerminated()方法检测全部的线程是否都已经运行结束.返回boolean.
//		shutdownNow() 将放弃所有正在等待的任务,等当前执行的任务全部完成之后,结束线程池。
//		List<Runnable> abandoned = service.shutdownNow();
//		System.err.println("被遗弃的任务:" + abandoned);

	}
}

线程:

package com.thread.test;
public class RunnableImpl implements Runnable {

	RunnableImpl(int id, String keyword) {
		this.id = id;
		this.keyword = keyword;
	}

	public void run() {
	        System.out.println(Test)
	}

你可能感兴趣的:(java线程池)