2024-04-29 03:56:53 发布
网友
正如标题所说,因为在Python中我们有GIL,GIL表示在任何时候只有一个线程可以执行代码,这意味着单独的线程实际上不是并行运行的,而是“交错”运行的,但仍然只使用CPU的一个内核。你知道吗
这不是基本上打败了线程的整个概念吗?因为线程不是真正并行运行的,所以使用线程进行并行化是不可能的?你知道吗
我已经找到了一些关于这个问题的答案,但没有明确解决这个问题,我道歉,如果这个问题的具体方面已经得到了回答。你知道吗
不完全是。GIL将防止计算代价高昂的线程同时执行,并且不会给性能带来太大的提升。你知道吗
另一方面,非计算性任务(例如文件I/O)可以通过多线程来极大地提高性能。假设你要写40个文件。如果计算机可以一次处理写20个文件,那么使用多线程可以比阻塞和写入每个文件快得多。你知道吗
不完全是。GIL将防止计算代价高昂的线程同时执行,并且不会给性能带来太大的提升。你知道吗
另一方面,非计算性任务(例如文件I/O)可以通过多线程来极大地提高性能。假设你要写40个文件。如果计算机可以一次处理写20个文件,那么使用多线程可以比阻塞和写入每个文件快得多。你知道吗
相关问题 更多 >
编程相关推荐