Java线程池

一.ThreadPoolExecutor:

这个类是Java中创建线程池的原始写法,构造方法中参数比较多,下面一一介绍

1.corePoolSize:最少的线程数.

2.maximumPoolSize:最多的线程数.

3.keepAliveTime:允许线程摸鱼的最长时间.

4.TimeUnit:时间单位,一般是毫秒(ms).

5.workQueue:阻塞队列,有内置的,可以自己实现.

6.threadFactory:线程工厂.

7.handle:拒绝策略.

二.拒绝策略:

1.AbortPolicy:全部停止,直接抛异常.

2.CallerRunsPolicy:从哪来回哪去,不管不顾.

3.DiscardPolicy:丢掉新增的任务.

4.DiscardOldestPolicy:丢掉最早的任务,将新增的任务插入在最前面.

三.定义最大线程数:

1.CPU密集型:理论上线程数和CPU逻辑核心数相同.

2.io密集型:调试出结论.

你可能感兴趣的:(java,开发语言)