06 2021 档案

摘要:如果没有锁 在我们的项目中,可能会存在多个goroutine同时操作一个资源(临界区),这种情况会发生竞态问题(数据竞态)。 直接代码解释: 开启两个goroutine去累加变量x的值,这两个goroutine在访问和修改x变量的时候就会存在数据竞争,导致最后的结果与期待的不符。 互斥锁 互斥锁能够 阅读全文
posted @ 2021-06-24 10:50 我是一条最咸的咸鱼 阅读(626) 评论(0) 推荐(0)
摘要:channel简介 Channel是Go中的一个核心类型,我们可以把它看成一个管道,通过它并发核心单元就可以发送或者接收数据进行通讯(communication)。 Go 语言中的通道(channel)是一种特殊的类型。通道像一个传送带或者队列,总是遵循先入先出(First In First Out 阅读全文
posted @ 2021-06-22 10:14 我是一条最咸的咸鱼 阅读(743) 评论(0) 推荐(0)
摘要:并发与并行 并发是编程里面一个非常重要的概念,Go语言在语言层面天生支持并发。 并发:同一时间段内执行多个任务。 并行:同一时刻执行多个任务。 Go语言的并发通过goroutine实现。goroutine类似于线程,属于用户态的线程,我们可以根据需要创建成千上万个goroutine并发工作。goro 阅读全文
posted @ 2021-06-21 20:56 我是一条最咸的咸鱼 阅读(297) 评论(0) 推荐(0)

返回顶部