(1) 讀寫最好還是不要多線程,硬盤讀寫的速度有限,單線程時已經滿負荷了,多線程又會增加線程之間的切換,會增加時間。
如果想增加讀寫速度,應該增加硬盤,做raid
(2)首先是硬盤的寫入是串行的,CPU的計算才是並行的,如果你偏重計算那么多線程能提高,要不怎么叫做並行計算呢;
如果側重存儲,除非數據量達到足以體現優勢的程度,否則加上線程之間切換的損耗當然會效率更加地下。
(3)這個是按照算法來說的,目前來說大多數的算法都是很快的,瓶頸都在磁盤的IO上,我們針對大多數的算法都進行過測試,基本一半以上的時間都耗費在磁盤的IO上。
比如我處理一個影像,處理數據用了1分鍾,寫入圖像用了2分鍾,那你把你的算法優化的很牛逼,10秒中搞定,你的效率提高了多少,但是如果我多線程寫入的話,
我效率提高一倍,也就是寫入圖像用了1分鍾,那這個效率明顯比你優化你的算法來的實惠。這個東西還是要針對算法來說的。
(4)磁盤IO單線程順序寫時最快的,如果多線程寫,磁盤的磁頭要不斷重新尋址,所以寫入速度反而會慢。
參考:http://blog.csdn.net/chenyujing1234/article/details/7694201
