Golang 语言并发编程中 Context 的使用方式

2023年 7月 11日 19.1k 0

01

介绍

在 Golang 语言并发编程中,经常会遇到监控 goroutine 运行结束的场景,通常我们会想到使用 WaitGroup 和 chan + select,其中 WaitGroup 用于监控一组 goroutine 是否全部运行结束,chan + select 用于监控一个 goroutine 是否运行结束(取消一个 goroutine)。

如果我们需要监控多个 goroutine 是否运行结束(取消多个 goroutine),通常会使用 context,当然使用 context 也可以用于监控一个 goroutine 是否运行结束(取消一个 goroutine)。我们在之前的文章已经介绍过 Golang 语言标准库 Context,未阅读的读者朋友们可以按需翻阅。本文我们主要介绍 Context 的一些使用方式。

02

取消一个 goroutine

使用 context 取消一个 goroutine,比较类似于使用 chan + select 的方式取消一个 goroutine。

示例代码:

func main () {
 ctx, cancel := context.WithCancel(context.Background())
 go func(ctx context.Context) {
  for {
   select {
    case 

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论