问题现象:
在windows下可以运行,同样的代码在虚拟机银河麒麟系统下就不运行。
问题原因:
麒麟系统下默认线程池中最大线程数默认为cpu核心数一样,导致无法启动很多线程。
QThreadPool::globalInstance()->maxThreadCount(); // 获取线程池最大线程个数
QThreadPool::globalInstance()->activeThreadCount(); // 当前活动的线程个数
解决方法:
设置最大线程个数:QThreadPool::globalInstance()->setMaxThreadCount(100);