並行運算

並行運算，電腦運算一類，另名並發運算，專門研究同期有多過一件事要做，會遇到有何難題，以及如何解決，由得出大量相關演算法。英文，直譯就係同期運算，可見其時間本質。同期處理幾件事，後果不可預知，即唔確定，皆因做事過程孰先孰後，當中可能互相干擾。要有較合乎順序並正確結果，有賴訂定規則同演算法。

當初電腦，只能一件做完到另一件，若然要等周邊裝置做好，處理器就投閒置散。大概一九六〇年前後，各方就嘗試一次過讀入幾個程式，以便盡用處理器，咁就需要程式管理，自此開啟並行運算之研究。隨住電腦技術發展，管理程式就化成電腦操作系統，同並行運算息息相關，如分割處理器時間，幾個程式交替用。亦要兼顧讀寫規舉，免得資料混亂。

另一個範疇隨自網絡出現，分散運算到幾部電腦，外間睇起一部機做事咁。有啲決定必須喺各機程式合作，咁有時遇到網絡唔可靠，要研究有錯下仍能運作等問題。再有資料庫需要複制唔同機上，咁運行時又要資料一致，咁亦涉及並行運算。加密貨幣所用紀錄，亦不脫並行運算。故此並行喺唔同電腦範疇，都有可用到。

並行運算與平行運算、分散運算，時常拎來比較。但實情後兩者會用到並行運算。現今並行運算，亦多假設有平行同分散，盡用平行處理器同網絡，以縮短工作時間、畀用者感覺更加順暢。

系統以並行運算為基礎，就為並行系統。系統有管理，專門協調程式並行。系統可以為單獨程式，又或單獨電腦，又或一組網絡。

現今大多數電腦同網絡，都已經有並行運算元素。故此一般編程，並不必自行顧及並行。然而有時想用起來順暢，或者想借用平行運作，咁可以就劃分成子程式組件，各自運作，配以管理用子程式，精細管理並行運算。

程式語言用得操作系統之程式接口，都做得到並行運算。有啲以程式庫形式來用，亦有啲內建關鍵字來用。所謂並行程式語言，當今至少會有綫程與之間傳信。有啲會容許共享資源，有啲禁止。有啲就用到分散運算。

電腦科學