本章我們討論了很多東西。我們從劃分線程間的工作開始(比如,數(shù)據(jù)提前劃分或讓線程形成流水線)。之后,以低層次視角來看多線程下的性能問題,順帶了解了偽共享和數(shù)據(jù)通訊;了解訪問數(shù)據(jù)的模式對性能的影響。再后,了解了附加注意事項(xiàng)是如何影響并發(fā)代碼設(shè)計(jì)的,比如:異常安全和可擴(kuò)展性。最后,用一些并行算法實(shí)現(xiàn)來結(jié)束了本章,在設(shè)計(jì)這些并行算法實(shí)現(xiàn)時碰到的問題,在設(shè)計(jì)其他并行代碼的時候也會遇到。
本章中,關(guān)于線程池的部分被轉(zhuǎn)移了。線程池——一個預(yù)先設(shè)定的線程組,會將任務(wù)指定給池中的線程。很多不錯的想法可以用來設(shè)計(jì)一個不過的線程池;所以我們將在下一章中來看一些有關(guān)線程池的問題,以及高級線程管理方式。