美文网首页
Go 并发之互斥锁

Go 并发之互斥锁

作者: 三梦哥 | 来源:发表于2020-03-02 10:16 被阅读0次

在 Go 语言中使用sync.Mutex 来实现互斥锁,示例代码如下:

package main

import (
    "fmt"
    "sync"
)

var (
    wg   sync.WaitGroup
    lock sync.Mutex
    data int64
)

func process() {
    defer lock.Unlock()
    defer wg.Done()
    lock.Lock()
    data++
}

func main() {
    for i := 0; i < 10000; i++ {
        wg.Add(1)
        go process()
    }
    wg.Wait()
    fmt.Println(data)
}

输出结果为:


输出结果

相关文章

  • Go 并发之互斥锁

    在 Go 语言中使用sync.Mutex 来实现互斥锁,示例代码如下: 输出结果为:

  • Go控制程序生命周期

    近期学了go语言的并发编程,掌握了 并发原语-原子锁,互斥锁,通道 并发原理 并发设计模式今天我们就来锻炼一下,如...

  • golang 基础(31) 锁

    在 go 语言中提供了并发编程模型和工具外,还提供传统的同步工具锁,包括互斥锁和读写锁有关互斥锁有些内容我们必须清...

  • Go 语言的锁

    Go 语言提供两类锁: 互斥锁(Mutex)和读写锁(RWMutex)。其中读写锁(RWMutex)是基于互斥锁(...

  • go-day5

    sync包 sync.Mutex 互斥锁 适用于并发访问公共资源的场景。 声明互斥锁 使用互斥锁 sync.RWM...

  • golang-互斥锁 sync.Mutex

    互斥量(锁) 在go语言里面很少用,但是也提供支持 ! 互斥量的概念!go语言提供的锁:Mutex (sync.M...

  • Go并发编程之美-互斥锁

    一、前言 go语言类似Java JUC包也提供了一些列用于多线程之间进行同步的措施,比如低级的同步措施有 锁、CA...

  • iOS 原理探究-读写锁

    读写锁是计算机程序的并发控制的一种同步机制,也称“共享-互斥锁”、多读者-单写者锁。读操作可并发重入,写操作是互斥...

  • Go 实现 TCP 端口扫描器

    因为 Go 原生支持高并发,所以可以用高效的协程goroutine 来实现一个TCP 端口扫描器。 这里通过互斥锁...

  • Golang 读写锁设计

    在《Go精妙的互斥锁设计》一文中,我们详细地讲解了互斥锁的实现原理。互斥锁为了避免竞争条件,它只允许一个线程进入代...

网友评论

      本文标题:Go 并发之互斥锁

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