• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • YouClaw
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
陈天刚
没有困难,创造困难也要上
博客园 首页 新随笔 管理

10 2018 档案

 
waitGroup的使用
摘要:```go package main import ( "fmt" "sync" "time" ) func main() { var wg sync.WaitGroup //一个没有缓冲区的chan ch := make(chan string) wg.Add(3) go sendData(ch, 阅读全文
posted @ 2018-10-26 17:05 陈天刚 阅读(1021) 评论(0) 推荐(0)
golang中的mutex锁
摘要:mutex锁中一种互斥锁,如果有多个goroutine需要对同一变量进行修改则需要对该变量施加mutex锁以实现安全读写。 阅读全文
posted @ 2018-10-25 18:16 陈天刚 阅读(296) 评论(0) 推荐(0)
goroutine和channel
摘要:近期在学习golang的goroutine和channel时候有一些疑惑: 1. 带缓冲的channel和不带缓冲的channel有什么区别? 2. goroutine和主进程的有哪些影响和关系? 3. 多个goroutine的执行顺序是怎么样的? 通过下面的代码我们可以得到答案 第一个例子 1. 阅读全文
posted @ 2018-10-25 15:08 陈天刚 阅读(326) 评论(0) 推荐(0)
如何优雅的关闭Golang Channel?
摘要:Channel关闭原则 不要在消费端关闭channel,不要在有多个并行的生产者时对channel执行关闭操作。 也就是说应该只在[唯一的或者最后唯一剩下]的生产者协程中关闭channel,来通知消费者已经没有值可以继续读了。只要坚持这个原则,就可以确保向一个已经关闭的channel发送数据的情况不 阅读全文
posted @ 2018-10-25 10:56 陈天刚 阅读(3905) 评论(0) 推荐(0)
使用context关闭协程以及协程中的协程
摘要:```go package main import ( "sync" "context" "fmt" "time" ) var wg sync.WaitGroup func worker2(ctx context.Context) { LOOP: for { fmt.Printf("worker2\ 阅读全文
posted @ 2018-10-24 11:24 陈天刚 阅读(723) 评论(0) 推荐(0)
golang对不同系统的编译
摘要:Golang 支持在一个平台下生成另一个平台可执行程序的交叉编译功能。 Mac下编译 Linux下编译 Windows下编译 阅读全文
posted @ 2018-10-17 11:54 陈天刚 阅读(1337) 评论(0) 推荐(0)
 


博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3