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

2023-02-16 17:39 更新

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

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

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

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

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

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

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

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

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

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


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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)