日韩精品 中文字幕 动漫,91亚洲午夜一区,在线不卡日本v一区v二区丶,久久九九国产精品自在现拍

正文

基于任務(wù)的程序設(shè)計(16)

C#并行編程高級教程 作者:(美)Gastón C.Hillar


1.6.2  理解交錯并發(fā)、并發(fā)和并行之間的區(qū)別

圖1-15展示了交錯并發(fā)(interleaved concurrency)和并發(fā)(concurrency)之間的區(qū)別,其中有兩個軟件線程,每個軟件線程執(zhí)行4條指令。在交錯并發(fā)的場景中,一次執(zhí)行一個線程的指令,兩個線程的指令交錯執(zhí)行;但在并發(fā)場景中,兩條指令可以同時并行地執(zhí)行。設(shè)計的時候需要考慮到這兩種情形。并發(fā)要求物理上能夠同時處理才能進行。

并行化代碼可以在很多不同的并發(fā)和交錯并發(fā)的場合運行,即使是在同樣的硬件配置上執(zhí)行也是如此。因此,并行設(shè)計的一大挑戰(zhàn)在于要能夠保證:在各種不同順序和交錯的情況下執(zhí)行都能夠產(chǎn)生正確的結(jié)果,即保證正確性(correctness)。如果需要按特定順序執(zhí)行,或者要求某些部分的代碼不允許同時運行,那么就必須要保證這些部分的代碼不能夠并發(fā)運行。不能因為運行了很多次,且每次都產(chǎn)生正確的結(jié)果就認為沒有并發(fā)地運行。在設(shè)計并發(fā)和并行化的時候,必須保證考慮到正確性。

在第2章中,我們會通過一些代碼示例來更深入地學(xué)習(xí)并發(fā)和并行之間的區(qū)別。 


上一章目錄下一章

Copyright ? 讀書網(wǎng) rgspecialties.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號