回LZ另一个帖子里的问题。 通常,进程可以分成好几种类型。典型的2种:IO密集型和CPU密集型。 对于CPU密集型的多个进程(线程),对于单CPU来说,多个线程切换并没有提高效率。线程切换本身也是要消耗CPU资源的。这个时候,不切换,一个接一个运行应该花费时间最少的。 当考虑吞吐量,相应时间的时候,对上面情况,又变的有必要进行调度了。 再就是IO密集型与CPU密集型进程都存在的情况。因为IO密集型进程经常性的等待IO完成,在等待期间,CPU空转,极大的浪费的CPU资源。如果在这段时间,把CPU调度给其它进程,比如一个CPU密集型进程,那2个进程都能很快完成。 所以。对于你的3个任务,要看你是什么类型的进程,你有几个CPU。是要多方面衡量的。 |
|