【发布时间】:2016-11-24 07:02:16
【问题描述】:
我的问题是,如果一个线程需要自己的寄存器集,那么在 CPU 中存在的寄存器集有限的情况下,可以同时创建多少个线程?
【问题讨论】:
-
很多,因为当操作系统切换线程时,它会将前一个线程的寄存器隐藏在其他地方......
-
与用户和内核模式堆栈所需的地址空间相比,线程上下文存储非常小,大约为 1 兆字节。一个 32 位进程往往会在超过 2000 个线程时用完它。在 64 进程中还有更多,通常受页面文件大小限制。适合通常的“如果您需要知道,那么您做错了”诊断。
标签: multithreading operating-system