课程培训
Go语言并发编程实战课程

Go语言并发编程实战课程

 

培训对象:
Go语言开发者;后端开发工程师;云原生应用开发者;以及希望掌握Go并发模型与高性能编程的技术人员。

 

培训目标:
使学员全面掌握Go语言的并发编程模型与核心技术,能够设计实现高并发、高可用的后端系统。精通goroutine的调度原理、channel的通信机制、select多路复用、sync包同步原语。掌握并发模式(工作池、扇入扇出、流水线)、并发安全编程、性能调优等进阶技能。具备独立开发高性能并发服务的实战能力。

 

培训内容介绍:

  1. Go并发模型概述:讲解并发与并行的区别,Go语言的并发哲学(不要通过共享内存来通信,而应该通过通信来共享内存)。介绍GMP调度模型(goroutine、processor、machine)的基本原理。

  2. goroutine基础:学习使用go关键字启动goroutine。掌握runtime包的基本函数(GOMAXPROCS、NumGoroutine、Goexit)。理解主goroutine与子goroutine的关系。演练简单的并发任务。

  3. channel基础:讲解channel的类型(有缓冲、无缓冲)、创建(make)、发送(<-)、接收(<-)操作。理解无缓冲channel的同步特性,有缓冲channel的异步特性。演练使用channel在goroutine间传递数据。

  4. select多路复用:学习select语句的语法与执行规则(随机选择可用的case)。掌握使用select处理多个channel的读写操作。实现超时控制(结合time.After)。演练多路数据汇聚的场景。

  5. range遍历channel:学习使用for range循环遍历channel,理解遍历结束的条件(channel关闭)。掌握使用close关闭channel,以及关闭后的行为(接收零值)。演练生产者-消费者模型。

  6. 同步原语(sync包):学习使用sync.WaitGroup等待一组goroutine完成。掌握sync.Mutex与sync.RWMutex保护共享资源。了解sync.Once确保单次执行、sync.Cond条件变量。演练并发计数器、并发缓存。

  7. 原子操作:学习使用sync/atomic包进行原子操作(Add、Load、Store、Swap、CompareAndSwap)。理解原子操作与互斥锁的性能差异与适用场景。演练实现无锁计数器。

  8. 并发模式:工作池:讲解工作池(worker pool)模式的设计思想(任务分发、结果收集)。使用channel实现固定数量的工作goroutine处理任务队列。演练实现并发任务处理器。

  9. 并发模式:扇入扇出:学习扇出(fan-out)将任务分发给多个goroutine,扇入(fan-in)收集多个channel的结果。使用select与merge函数实现多路结果汇聚。演练实现并发爬虫的数据汇聚。

  10. 并发模式:流水线:讲解流水线(pipeline)模式的设计思想(阶段处理、channel连接)。实现多阶段的处理流水线,每个阶段由一组goroutine并行处理。演练实现图像处理流水线。

  11. 并发安全与竞态检测:讲解数据竞态(data race)的概念与危害。学习使用go run -race进行竞态检测。掌握并发安全的数据结构设计方法。演练修复存在数据竞态的代码。

  12. 完整并发项目实战:设计并实现一个高并发项目(如实时聊天系统、并发文件处理工具、高性能日志收集器)。综合运用goroutine、channel、select、同步原语,实现高吞吐、低延迟的并发系统。





如果您想学习本课程,请预约报名
如果没找到合适的课程或有特殊培训需求,请订制培训
除培训外,同时提供相关技术咨询与技术支持服务,有需求请发需求表到邮箱soft@info-soft.cn,或致电4007991916
技术服务需求表点击在线申请

服务特点:
海量专家资源,精准匹配相关行业,相关项目专家,针对实际需求,顾问式咨询,互动式授课,案例教学,小班授课,实际项目演示,快捷高效,省时省力省钱。

专家力量:
中国科学院软件研究所,计算研究所高级研究人员
oracle,微软,vmware,MSC,Ansys,candence,Altium,达索等大型公司高级工程师,项目经理,技术支持专家
中科信软培训中心,资深专家或讲师
大多名牌大学,硕士以上学历,相关技术专业,理论素养丰富
多年实际项目经历,大型项目实战案例,热情,乐于技术分享
针对客户实际需求,案例教学,互动式沟通,学有所获
报名表下载
联系我们 更多>>

咨询电话010-62883247

                4007991916

咨询邮箱:soft@info-soft.cn  

 

  微信咨询

随时听讲课

聚焦技术实践

订制培训 更多>>