线程池记录

我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是并发线程数量增多,执行的任务短,这样频繁创建和销毁线程会消耗大量时间。

线程池:

1.降低资源消耗

2.提高响应时间

3.提高线程的可管理性

多线程的缺点:会占CPU,使用多线程的地方并发量比较高时会导致其他功能响应很慢。

线程池的缺点:

  1. 适用于生存周期较短的的任务,不适用于又长又大的任务。
  2. 不能对于线程池中任务设置优先级。
  3. 不能标识线程的各个状态,比如启动线程,终止线程。
  4. 对于任意给定的应用程序域,只能允许一个线程池与之对应。
  5. 线程池所有线程都处于多线程单元中,如果想把线程放到单线程单元中,线程池就废掉了。

创建线程池方法:

1.Executors.newFixedThreadPool:创建固定大小的线程池。

2.Executors.newSingleThreadExecutor:创建一个单线程的线程池。

3.Executors.newScheduledThreadPool:创建一个固定大小的定时线程池。

4.Executors.newSingleThreadScheduledExecutor:创建一个单线程的定时线程池。

5.Executors.newCachedThreadPool:创建一个可缓存的线程池。

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