没有大量的IO操作,主要是占用CPU,单核多核情况都有。C++11 thread
描述的不太清楚,其实想问的是如果我创建多个线程,这些线程的分配是怎样的?
大家讲道理2017-04-17 13:19:09
cluster和pipeline模式.
cluster模式適用於任務比較難拆分, 但是任務與任務之間沒有關聯, 比如zip文件, 多個文件之間並沒有關聯, 那麼我可以開四五個線程去zip不同的檔案.
pipeline模式, 適用於那些任務先後順序可以拆分的, 把費時的操作抽出來, 用線程處理. 用那個zip文件的例子, 一個線程用來控制zip任務的分發, 多個線程去zip, zip好之後, 交給另外一個線程. 這個完整的任務, 就被拆分成3個階段, 這種模式就是pipeline.
你的業務需要靈活運用這兩種最基本的設計模式