线程中完成的工作的复杂性如何影响整体代码性能

问题描述 投票:0回答:1

线程用于尽可能减少执行时间。使用线程进行复杂的工作是否会影响整体代码的性能?

python python-multithreading
1个回答
0
投票

多线程总是会带来一定的开销:额外的CPU周期花费在管理线程状态、上下文切换等上,第页。

含义:“使用更多线程”是否会始终提高“性能”取决于上下文。示例:当在单独的线程中处理长时间运行的 IO 操作时,线程对于延迟/响应能力变得非常有帮助。因此线程 A 可能会等待这样的 IO 操作完成,而线程 B 可以继续做其他事情。如果只有一个线程,整个程序就会坐在那里,除了等待之外什么也不做。

但是,如果您的代码主要执行“繁重的计算”,那么添加线程可能只会花费,却没有任何好处。

当然,请记住,Python 在线程上有一个全局锁

© www.soinside.com 2019 - 2024. All rights reserved.