Pix*_*xel 0 c++ windows multithreading image-processing visual-c++
我可以为我的算法创建的最大线程是多少?使用MultiThreading时是否需要考虑系统配置?
我的硬件:Intel(R)Core(TM)2 Duo CPU E8400 @ 3.00 GHz 2.00 GHz
安装的RAM:4.00 GB
我可以在项目中创建/使用多少个最大线程?
Windows对线程数没有"硬编码"限制(我看到你用visual c ++标记标记了这个问题,所以它是关于Windows的,这是正确的吗?).您只需要考虑硬件限制; 首先,默认的线程堆栈大小为1兆字节,因此当你创建线程,你至少需要1兆字节的内存只是栈,还极有可能您的自定义代码将分配一些内存.对于操作系统而言,切换也不容易.除非线程必须等待HTTP请求之类的长时间操作,否则通常创建的线程数多于处理器核心数.因此,理想情况下,您必须在创建线程之前仔细考虑,但如果您确定需要线程,则不要关心除内存和CPU时间之外的任何限制.