1.线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。线程池线程都是后台线程。
2.线程池简易架构
3.简易线程池代码(自行优化)
import java.util.List;
/**
* 线程接口
*
* @Author yjian
* @Date 14:49 2017/10/14
**/
public interface IThreadPool {
//加入任务
void execute(Runnable task);
//加入任务
void execute(Runnable[] tasks);
//加入任务
void execute(List<Runnable> tasks);
//销毁线程
void destroy();
}
import java.util.LinkedList;
import java.util.List;
import java.util.concurrent.atomic.AtomicLong;
/**
* 线程实现类(简易实现,自行优化.提供思路)
*
* @Author yjian
* @Date 14:49 2017/10/14
**/
@SuppressWarnings("ALL")
public class ThreadPoolImpl implements IThreadPool {
//默认开启线程个数
static int WORKER_NUMBER = 5;
//完成任务线程数 可见性
static volatile int sumCount = 0;
//任务队列 list非线程安全,可以优化为BlockingQueue