对于Golang并发编程的一点感悟

henrylee2cn · · 905 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

  • 并发编程的核心其实就是 时间统筹 的运用
  • 并发编程让程序员能够 更加自由地 从现实世界抽象 设计模型

假如把团队的每个人看作是1条协程,那么他们之间的沟通就是channel,协作流程就是业务逻辑

自己对并发编程的应用场景一些总结(说得不对的地方,大家莫要拍砖):

  1. 凡能同时执行的不同业务,都可以采用协程进行异步处理
  2. 凡是相对独立的高重复性业务,都可以采用多协程并发处理
  3. 凡能拆解为多个相对独立的小步骤业务,每个步骤同样可以多协程并发处理
  4. 模块间需要解耦或实现控制反转的情况,可考虑使用协程间channel通信来解决

 最后一点,请务必注意并发环境下临界资源的读写安全,善用静态变量与读写锁!


有疑问加站长微信联系(非本文作者)

本文来自:开源中国博客

感谢作者:henrylee2cn

查看原文:对于Golang并发编程的一点感悟

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

905 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传