我的 CPU/操作系统可以处理多少个线程?

Mar*_*ima 0 c++ multithreading

我创建了一个 C++ 应用程序。可以同时运行多少个线程?

Mar*_*ler 6

基本上,您的操作系统可以处理或多或少无限多个线程。这只是保留上下文/调度请求列表的问题。

\n\n

现在,同时对您来说可能意味着不同的事情 \xe2\x80\x93 如果您实际上意味着“完全相同的时间运行”,那么您当然不能拥有比 CPU 中的内核更多的并行执行。但从更广泛的意义上来说,“轮流执行,以便当一个线程被阻塞(例如等待文件 I/O)时,其他线程可以工作”,没有限制。

\n\n

有用性有限,存在处理开销,切换线程会导致频繁的缓存失效,但没有硬性限制。

\n