c++中多线程编程是不是线程数越多越好?
多线程编程可以提高程序的并发执行能力,那是不是线程越多越好呢?
大家可以参考下面的代码做测试:
std::map<int, int>::iterator IterCount;for(IterCount=m_task.begin(); IterCount!=m_task.end();IterCount++){int nThreadId= (*IterCount).first;int nCount = (*IterCount).second;EnterCriticalSection(&g_cs);cout << "nThreadId:" << nThreadId << ", nCount" << nCount<<endl;LeaveCriticalSection(&g_cs);(*IterCount).second = 0;}另外,多线程操作全局变量的时候,一定要用线程同步(如临界区等)来操作,否则,会有问题。在使用的过程中,一定要注意资源和线程之间的关系,避免死锁发生。
经过测试,多线程中的线程数是不是越多越好?这个问题的答案应该就有了。
转载请注明原创链接:http://blog.csdn.net/wujunokay/article/details/12307773