【发布时间】:2011-06-20 16:54:10
【问题描述】:
我刚刚开始学习 Python,并且听说过 GIL 以及它如何防止“真正的”多线程(我的意思是允许多个线程同时在不同的内核上运行)。
现在,假设要删除的 GIL 不是每个线程(现在在不同的内核上运行)都需要单独的 VM 实例才能执行吗? JVM有同样的问题吗?
如果是这样,在虚拟机上解释/执行的程序中使用线程与单独的进程相比有什么好处(除了使用 POSIX 线程与进程相比的性能提升——尽管我相信在 Linux 中不同之处不在于伟大的)?因为必须为每个线程拥有一个单独的 VM 实例似乎需要很大的开销。
谢谢。
【问题讨论】:
标签: linux multithreading virtual-machine