在主窗口创建一个线程
这个线程动态加载个dll
实例化一个类
执行类的方法
这个方法里种总执行一是:for循环动态创建了多个线程执行任务(总计500多个线程):7分多钟二是:for循环不创建线程 而是一个一个执行 直到for出以后:8分多钟2种方法执行时间相差不大,
理论上来说第一种应该很快才对 至少不会跟第2种相差一点点吧不知道我这样做法对不对,?没有效果的原因是什么。。?
这个线程动态加载个dll
实例化一个类
执行类的方法
这个方法里种总执行一是:for循环动态创建了多个线程执行任务(总计500多个线程):7分多钟二是:for循环不创建线程 而是一个一个执行 直到for出以后:8分多钟2种方法执行时间相差不大,
理论上来说第一种应该很快才对 至少不会跟第2种相差一点点吧不知道我这样做法对不对,?没有效果的原因是什么。。?
这方面“理论”总是跟现实出入太大。使用线程,是因为你的CPU时间有很多空闲,不是空洞地说“该用几个”线程的问题。你的进程中(仅仅你的进程中)某一个时间点,可能有5个线程、200个线程、1000个线程(任务线程+I/O线程)都可能是合适的。只要是CPU持续一段时间有空闲,这就说明线程少了。反之就多了。你要是能够把CPU一直保持80%~90%以上的利用率,让它热得可以用来煮鸡蛋,就是能耐。
for循环应该放在线程中执行吧!
CPU数就是操作系统看到的处理器数目,现在虽然多是一个物理CPU,但都是多核CPU,一个核算一个CPU,Intel I3/I5/I7系列使用超线程技术,一个物理核心可以模拟成两个核心,也可以按照一个模拟的核心算一个CPU,比如I3是两核4线程,可以算4个CPU,