JAVA高级基础(71)---Executor执行Runnable任务

版权声明:如需转载请标明出处 https://blog.csdn.net/yj201711/article/details/86551884

Executor框架:支持并发编程的线程池

Executors

1、ExecutorService    newFixedThreadPool(int initThread)

在线程池中,创建固定数目的线程。当执行任务的时候,如果线程池中由空闲线程,则直接使用该线程来执行任务,如果没有空闲线程,则任务处于阻塞状态,等待线程空闲。

2、ExecutorService    newCacheThreadPool();

在线程池中,创建不确定的线程,当执行任务时,如果由空闲线程,则执行使用该线程执行任务,如果没有空闲线程,则创建新的线程,执行当前任务

3、ExecutorService    newSingleThreadExecutor();

在线程池中,始终只有一个线程对象,来执行任务。当有任务需要执行时,如果线程处于空闲状态则立即执行,否则任务处于阻塞状态。

4、ScheduledExecutorService    newScheduledThreadPool(int corePoolSize)

在线程池中可执行的任务

实现了Runnable接口的任务
                            public void run(){
        
                              }
实现了Callable接口的任务                
                             public v call(){
            
                              return v;
                              }

package org.lanqiao.runnable.demo;

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

public class RunnableTaskDemo {
	public static void main(String[] args) {
	 ExecutorService es = 	Executors.newCachedThreadPool();
	 for(int i = 0 ; i < 10 ; i++) {
		 es.submit(new RunnableTask());	 
	 }
	 es.shutdown();
	}
	
}
class RunnableTask implements Runnable{
	@Override
	public void run() {
		System.out.println(Thread.currentThread().getName());
		
	}
	
}

猜你喜欢

转载自blog.csdn.net/yj201711/article/details/86551884