请问线程池在项目中的具体实践是在哪里?
就是现在我有一个项目是类似于博客园,掘金这种社区的项目,然后学习到了ThreadPoolExecutor自定义线程池,想在项目中具体使用线程池,但是又不知道什么业务可以使用到线程池。 例如 首页检索文章? 回复?
回答:
其实所有遍历操作都可以用到多线程,将遍历到的每个元素单独一个线程来处理,但是一般内存操作都是比较快的,所以在只有内存操作时,一般单线程遍历也足够了。
但是如果处理该遍历的元素时,需要涉及到IO操作,由于IO操作相对来说是比较耗时的,这时都是可以用多线程来提高效率
回答:
可以用多线程处理的地方, 都可以用线程池. 一般是一些异步操作.
按我的想法, 网络操作用线程池多一些.
回答:
当有“量大”任务需要快速处理时,可以考虑使用线程池,比如:
1、tomcat/jetty接收大量的用户请求时,就是使用线程池来处理。
2、查询数据库做数据统计,可以使用线程池,把数据记录根据每批次的条数进行拆分,每个批次的数据交给不同线程处理,最后汇总。
等等。
在使用线程池时,还要考虑好上下文变量传递,合理的使用线程变量。
回答:
线程池的使用的主要目的是为了减少频繁创建线程和销毁线程的消耗,这个创建线程和销毁线程主要是指的是自定义线程,并不是操作系统的原生线程,也不是由操作系统调用的java线程.所以多线程一般是用在有需要多线程应用场景的时候.
已参与了 SegmentFault 思否社区 10 周年「问答」打卡 ,欢迎正在阅读的你也加入。
以上是 请问线程池在项目中的具体实践是在哪里? 的全部内容, 来源链接: utcz.com/p/944515.html