Go語言 并發(fā)同步概述

2023-02-16 17:39 更新

本文將解釋什么是并發(fā)同步,并列出Go支持的幾種并發(fā)同步技術(shù)。

什么是并發(fā)同步?

并發(fā)同步是指如何控制若干并發(fā)計算(在Go中,即協(xié)程),從而

  • 避免在它們之間產(chǎn)生數(shù)據(jù)競爭的現(xiàn)象;
  • 避免在它們無所事事的時候消耗CPU資源。

并發(fā)同步有時候也稱為數(shù)據(jù)同步。

Go支持哪些并發(fā)同步技術(shù)?

通道一文已經(jīng)解釋了如何使用通道來做并發(fā)同步。 除了使用通道,Go還支持幾種通用并發(fā)同步技術(shù),比如互斥鎖和原子操作。 請閱讀下面的文章來了解各種并發(fā)同步技術(shù)的使用。

我們也可以利用網(wǎng)絡(luò)和文件讀寫來做并發(fā)同步,但是這樣的并發(fā)同步方法使用在一個程序進(jìn)程內(nèi)部時效率相對比較低。 一般來說,這樣的方法多適用于多個進(jìn)程之間或多個主機(jī)之間的并發(fā)同步?!禛o語言101》中不介紹這樣的并發(fā)同步方法。

為了更好地理解各種并發(fā)同步技術(shù),推薦在適當(dāng)?shù)臅r候(具有一定的Go并發(fā)編程經(jīng)驗時)閱讀Go中的內(nèi)存順序保證一文。

Go中提供的各種并發(fā)同步技術(shù)并不能阻止Go程序員寫出不正確的并發(fā)代碼。 但是,這些技術(shù)使得Go程序員可以輕松寫出正確的并發(fā)代碼。特別地,Go中提供的獨特的通道技術(shù)使得并發(fā)編程變得很輕松和愜意。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號