回LZ另一個(gè)帖子里的問題,。 通常,進(jìn)程可以分成好幾種類型,。典型的2種:IO密集型和CPU密集型,。 對(duì)于CPU密集型的多個(gè)進(jìn)程(線程),對(duì)于單CPU來說,,多個(gè)線程切換并沒有提高效率,。線程切換本身也是要消耗CPU資源的。這個(gè)時(shí)候,不切換,,一個(gè)接一個(gè)運(yùn)行應(yīng)該花費(fèi)時(shí)間最少的。 當(dāng)考慮吞吐量,,相應(yīng)時(shí)間的時(shí)候,,對(duì)上面情況,又變的有必要進(jìn)行調(diào)度了,。 再就是IO密集型與CPU密集型進(jìn)程都存在的情況,。因?yàn)镮O密集型進(jìn)程經(jīng)常性的等待IO完成,在等待期間,,CPU空轉(zhuǎn),,極大的浪費(fèi)的CPU資源。如果在這段時(shí)間,,把CPU調(diào)度給其它進(jìn)程,,比如一個(gè)CPU密集型進(jìn)程,那2個(gè)進(jìn)程都能很快完成,。 所以,。對(duì)于你的3個(gè)任務(wù),要看你是什么類型的進(jìn)程,,你有幾個(gè)CPU,。是要多方面衡量的。 |
|