- public class ThreadPoolTest { //线程池
- private static final intCORE_POOL_SIZE = 5;
- private static final intMAXIMUM_POOL_SIZE = 10;
- private static final intKEEP_ALIVE = 1;
- private static finalBlockingQueue sWorkQueue =
- newLinkedBlockingQueue(10);
- private static finalThreadFactory sThreadFactory =new ThreadFactory() {
- private finalAtomicInteger mCount =newAtomicInteger(1);
- public Thread newThread(Runnable r) {
- return newThread(r, "AsyncTask #" + mCount.getAndIncrement());
- }
- };
- private static finalThreadPoolExecutor sExecutor =new ThreadPoolExecutor(CORE_POOL_SIZE,
- MAXIMUM_POOL_SIZE, KEEP_ALIVE, TimeUnit.SECONDS, sWorkQueue, sThreadFactory);
- public static void main(String[] args){
- for(inti = 0; i < 21; i++) {
- sExecutor.execute(new MyTask());
- }
- }
- private static finalAtomicInteger taskCount =newAtomicInteger(1);
- static class MyTask implements Runnable{
- //任务
- inttaskId = 0;
- public MyTask() {
- taskId = taskCount.getAndIncrement();
- }
- @Override
- public void run() {
- intcount = 1;
- while(count<5){
- count++;
- try {
- Thread.sleep(3000);
- System.out.println(Thread.currentThread().getName()+"=执行="+taskId);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
- }
- }
- }
来源: http://www.bubuko.com/infodetail-1947514.html