我的CPU/OS可以处理多少个线程
How many threads can my CPU/OS handle?
i创建C 应用。可以同时运行多少个线程?
基本上,您的操作系统可以处理更多或多或少的无限多线程。这只是保留上下文/调度请求列表的问题。
现在,同时对您意味着不同的事情 - 如果您实际上是指"完全同时运行",那么您当然不能比CPU中的内核更平行执行。但是从更广泛的意义上讲,"轮流执行,以便通过等待文件I/O来阻止一个线程,而其他人可以工作",但没有限制。
有用性限制 - 有一个开销,切换线程会导致频繁的缓存无效,但没有硬性限制。
有一个std ::线程成员函数称为hardware_concurrency(),返回了硬件线程上下文数量的估计:
#include <iostream>
#include <thread>
int main(){
std::cout << std::thread::hardware_concurrency() << std::endl;
return 0;
}
相关文章:
- 警告处理为错误这里有什么问题
- 在C#中处理C++指针而不使用unsafe的最佳方法
- 处理多个异常集合的C++方法
- 找不到成员对象:没有名为get_event()的成员,也处理多态性和向量
- 使用流处理接收到的数据
- 获取日期异步信号安全吗?如果在信号处理程序中使用,它会导致死锁吗
- 处理小于cpu数据总线的数据类型.(c++转换为机器代码)
- 复制列表初始化的隐式转换的等级是多少
- 基于多个条件处理地图中的所有元素
- 如何用数字处理log(0)
- while循环中while循环的时间复杂度是多少
- SSL上的`curl_easy_send`和`curl_asy_recv`:如何处理`CURLE_AGAIN`
- 错误处理.将系统错误代码映射到泛型
- 从文本文件中读取时钟时间和事件时间并进行处理
- 在运行时处理类型擦除的数据-如何不重新发明轮子
- 在for循环中使用auto vs decltype(vec.size())来处理字符串的向量
- 用于矢量处理的多个线程
- 对字符串进行排序时,在c++中处理sort()
- 我的CPU/OS可以处理多少个线程
- select()在Windows中可以处理的最大套接字数是多少