2016 - 2024

感恩一路有你

python线程池并发爬虫 为什么了要使用线程池,什么情况下要使用线程池?

浏览量:2837 时间:2021-03-15 07:50:01 作者:admin

为什么了要使用线程池,什么情况下要使用线程池?

java.util.concurrent文件. 遗嘱执行人提供java.util.concurrent文件该计划的实施。Executor接口用于创建线程池。多线程技术主要用于解决处理器单元中的多线程问题。它可以显著减少处理器单元的空闲时间,提高处理器单元的吞吐量。

假设服务器完成任务所需的时间是:T1创建线程,T2在线程中执行任务,T3销毁线程。

如果T1和T3比T2大得多,则可以使用线程池来提高服务器性能。

线程池的功能是限制系统中执行线程的数量。

根据系统环境,线程数可自动或手动设置,达到最佳效果;系统资源浪费少,系统拥塞多,效率低。线程池用于控制线程数,其他线程排队。任务执行后,将执行队列中的第一个任务。如果队列中没有等待进程,则线程池的资源正在等待。当一个新任务需要运行时,如果线程池中有等待的工作线程,则可以开始运行;否则,将进入等待队列。

1. 减少创建和销毁线程的数量,每个工作线程都可以重用,并且可以执行多个任务。

2. 您可以根据系统的承载能力来调整线程池中的工作线线程数,以防止服务器因为消耗太多内存而疲惫不堪(每个线程大约需要1MB内存,打开的线程越多,消耗的内存就越多,最后服务器崩溃)。

Java线程池的顶层接口是executor,但严格来说,executor不是线程池,而是执行线程的工具。真正的线程池接口是executorservice。

python线程池并发爬虫 python多线程爬虫 python重复使用线程池

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。