摘要: 1.手动终止 调用 runtime.Goexit() 来手动终止协程 goroutine作为Golang并发的核心,我们不仅要关注它们的创建和管理,当然还要关注如何合理的退出这些协程,不(合理)退出不然可能会造成阻塞、panic、程序行为异常、数据结果不正确等问题。 2.1 使用for-range退 阅读全文
posted @ 2020-12-01 19:22 Mr.peter 阅读(8207) 评论(0) 推荐(1)
摘要: 1.channel+sync 2 ⽆缓冲channel和任务发送/执⾏分离来限制(协程池) 阅读全文
posted @ 2020-12-01 15:51 Mr.peter 阅读(1382) 评论(0) 推荐(0)
摘要: channel主要用于解决go程的同步问题以及协程之间数据共享问题。 goroutine运行在相同的地址空间,因此访问共享内存必须做好同步。goroutine奉行通过通信来共享内存,而不是共享内存来通信。 阅读全文
posted @ 2020-12-01 14:16 Mr.peter 阅读(138) 评论(0) 推荐(0)