美文网首页
Go语言二:Go同步和并发

Go语言二:Go同步和并发

作者: Wu杰语 | 来源:发表于2017-08-11 07:26 被阅读0次

Go同步

GO同步着重看Go的Sync库,这个库提供了同步的函数。

WaitGroup:有Add、Done、Wait三个函数,用的比较多,用于阻塞主线程,等待其他routing的完成。

Mutex: Lock 和 UnLock方法,是共享内存一种同步的使用方法。

RWMutext:读写锁,Lock和UnLock是写锁,写的时候别的什么都不能干,而RLock,RUnLock是读锁。

Cond:Wait() signal() broadcast方法,要和Mutxt的Lock和UnLock配合起来使用。

Once,确保放到其中的function只执行一次。

Go并发

Go采用CSP,有缓冲和非缓冲两种用法。
其中对于非缓冲的,类似于泳池接力,一个到达,另外一个才能走。

对于缓冲的chan,类比送信,如果信箱没有满,则送完就可以走,不用等待,只有信箱满了,才需要等待。

相关领域

Go相关领域就是OS以及GoRouteing底层的原理,需要进一步学习。
而目前的阶段,首先需要对Go常用的库进行学习和刻意练习,手中有货心中不怕。

相关文章

  • Go语言二:Go同步和并发

    Go同步 GO同步着重看Go的Sync库,这个库提供了同步的函数。 WaitGroup:有Add、Done、Wai...

  • Go语言并发

    Go语言并发 Go语言级别支持协程,叫做goroutine Go 语言从语言层面支持并发和并行的开发操作 Go并发...

  • Go并发

    并发和并行 Go是并发语言,而不是并行语言。(Go is a concurrent language and no...

  • Go基础语法(九)

    Go语言并发 Go 是并发式语言,而不是并行式语言。 并发是指立即处理多个任务的能力。 Go 编程语言原生支持并发...

  • Go 并发原理

    Go语言是为并发而生的语言,Go语言是为数不多的在语言层面实现并发的语言;也正是Go语言的并发特性,吸引了全球无数...

  • GO语言初级学习之代码案例13 (QQ群聊)

    @(go语言 黑马)[GO语言] 并发聊天室 题目:利用Go语言高并发的特性,编写一个类似QQ群聊功能的并发聊天服...

  • Go入门系列(九)并发

    目录一、goroutine二、channel Go语言的特色之一就是并发,Go 从语言层面就支持并发。同时实现了自...

  • Go并发

    Go语言中的并发编程 并发是编程里面一个非常重要的概念,Go语言在语言层面天生支持并发,这也是Go语言流行的一个很...

  • 第14章-并发性Concurrency

    并发性Concurrency 1.1 什么是并发 Go是并发语言,而不是并行语言。在讨论如何在Go中进行并发处理之...

  • Golang(十四) 并发性Concurrency

    并发性Concurrency 1.1 什么是并发 Go是并发语言,而不是并行语言。在讨论如何在Go中进行并发处理之...

网友评论

      本文标题:Go语言二:Go同步和并发

      本文链接:https://www.haomeiwen.com/subject/edpcqxtx.html