线程池分配

package com.atguigu.juc;

import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;

public class TestScheduledThreadPool {

public static void main(String[] args) throws Exception {
	//线程数量为5的线程池
	ScheduledExecutorService pool = Executors.newScheduledThreadPool(5);
	
	//分配任务
	for (int i = 0; i < 5; i++) {
		Future future = pool.schedule(new Callable() {

			@Override
			public Integer call() throws Exception {
				int num = (int)(Math.random() * 101);
				System.out.println(Thread.currentThread().getName() + ": " + num);
				return num;
			}
			
		}, 3, TimeUnit.SECONDS);
		
		System.out.println(future.get());
	}
	
	//释放资源
	pool.shutdown();
}

}

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