默认线程池的优缺点

深挖java线程池

很多朋友对于默认线程池的优缺点和不建议用线程池用什么创建不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!

本文目录

  1. 常用的线程池中有几种这几种线程池之中又有什么区别
  2. 默认线程池的优缺点
  3. c#用多线程好还是线程池好
  4. 线程的四种创建方式

常用的线程池中有几种这几种线程池之中又有什么区别

池的作用:线程池作用就是限制系统中执行线程的数量。根据系统的环境情况,可以自动或手动设置线程数量,达到运行的最佳效果;少了浪费了系统资源,多了造成系统拥挤效率不高。

用线程池控制线程数量,其他线程排队等候。一个任务执行完毕,再从队列的中取最前面的任务开始执行。若队列中没有等待进程,线程池的这一资源处于等待。

当一个新任务需要运行时,如果线程池中有等待的工作线程,就可以开始运行了;否则进入等待队列。

默认线程池的优缺点

第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。

第二:减少系统对于,外部服务的响应时间的等待。

第三:提高线程的可管理性。线程是稀缺资源,如果无限制的创建,那么系统内存就会消耗完,所以就用引用到线程池的概念。

缺点

对于非核心线程空闲60s时将被回收

c#用多线程好还是线程池好

如果是你的客户端上传数据,那用线程或者线程池区别不大。线程池的优势在于可控制最大并行线程的数量,这点在服务端编程作用明显。

随着请求数的增加,每次请求都新开辟线程的话,会造成线程的急剧增加,占用大量的瞬时内存开销,线程是种高开销的数据结构,每个线程大致需要1m左右内存。

线程池中的线程在使用完以后,可以立即关闭,如果池中的线程全部都被任务占满,clr也不会创建新的线程,而是等待池中其他线程恢复了可用状态。

如果仅仅是防止界面假死,使用异步足矣,虽然异步操作仍然是使用线程池。

线程的四种创建方式

您好,1.继承Thread类:通过继承Thread类并重写run()方法实现线程的创建。

2.实现Runnable接口:通过实现Runnable接口并实现run()方法实现线程的创建。

3.实现Callable接口:通过实现Callable接口并实现call()方法实现线程的创建,与Runnable接口相比,Callable接口可以返回执行结果并且可以抛出异常。

4.使用线程池:通过Executor框架提供的线程池实现线程的创建,可以重复利用已经创建的线程,避免了线程创建和销毁的开销。

关于默认线程池的优缺点到此分享完毕,希望能帮助到您。

springboot Async默认线程池导致OOM问题

本文内容来自互联网,若需转载请注明:https://bk.jguuu.com//12/91789.html