python线程阻塞的解决

python线程池线程走完会释放吗

嘿,让我告诉你一件事。
我之前正在构建一个电子商务网站,当时使用Python确实很痛苦。
他们说这个线程池真的很实用。
我记得在我们系统的高峰期,每秒有超过 1 ,000 次用户访问。
如果没有线程池,您每次都必须打开一个新线程,这会耗尽您的服务器。
我使用了线程池并固定了5 0个线程,结果好多了。
当有新任务到来时,它立即从池中取出一个空闲线程。
当任务完成后,线程返回并等待下一个任务。
你看,这不是解决了很多问题吗?而且,创建和销毁线程的过程实际上是非常消耗资源的。
经测试,在没有线程池的情况下,仅线程创建和销毁就占用了大约2 0%的服务器资源。
使用线程池直接减少了这个区域并显着提高了性能。
然而,必须谨慎行事。
线程池中的线程工作完成后会自动回收。
但是,如果直接使用 threading.Thread() 打开线程,则必须在任务完成后手动执行。
否则你会泄漏内存。
这不是玩笑。
我的一位同事忘记手动关闭线程。
结果,该进程的内存持续增长,最终服务器崩溃。
因此,建议使用线程池,但是一定要记住,必须手动管理你打开的线程。
总之,正确使用线程池,其实可以为你省去很多麻烦,提高性能。