关于多线程的讨论...
PctGL 2006-10-20 01:54:00 我比较擅长使用VB,所以此题目就发到VB区了
这个题目是讨论多线程,或许和VB无关,但是由VB引起的...
问题是这样:
windows 对多线程是怎么管理的?
是排成队列平均分配时间,依次执行;还是随机执行???
对以下 1 和 2两个观点哪个更贴近本质一点?
1.多线程只不过是多占用CPU,浪费资源的做法,速度根本提不高
2.第2个言论如下:
1 2 3 4 5 6 前面6个数字代表6个程序(单线程),无论哪个线程占用了100%CPU时间,系统都还要继续执行另外的5个,并不是只执行那1个了; windows 多线程编程的含义就是抢占资源,让程序以高效率完成任务,假如你的程序是多线程(比如说是2个线程,那么一共是7个线程了),那么CPU要花 2/7 的时钟周期来做你的任务,别的只做1/7,可以这样说,线程越多执行速度越快,因为你更多的利用(占用)了CPU时间这样说来,如果你的程序有5个线程,系统中总线程数达到 10 个,那么将会有 1半的CPU时钟周期被你使用这就是多线程带来的好处;这种多线程的方式在windows这样的非标准多线程系统中,优势显得尤为突出
以上两个言论,请大家评价一下,哪个更贴近windows多线程运行方式的本质
第 2 个言论多少有点过激,但反应的是一个方式;请大家多多给点意见