我们来看这样一个问题,在主协程中创建的变量,在子协程中能否使用?来看下面代码:

func main() {s := "hello"fmt.Printf("s outside address is %v\n", &s) // 0xc0000101e0var wg sync.WaitGroupwg.Add(1)go func() {defer wg.Done()s = "world"fmt.Printf("s inside address is %v\n", &s) // 0xc0000101e0}()wg.Wait()fmt.Println(s)
}

运行结果是 “hello” 还是 “world”,我们运行之后发现是 “world”。查看变量 s 的地址,发现在子协程中的地址和在主协程中的地址是一样的。

Go 知识点(10) — 子协程能否使用主协程变量相关推荐

  1. Go 知识点(01)— 主协程与子协程执行顺序

    下面代码的输出结果是什么? package mainimport ("fmt" )func main() {for i := 0; i < 10; i++ {go func( ...

  2. Go 知识点(14) — Go 多协程(单个协程触发panic会导致其它所有协程挂掉,每个协程只能捕获到自己的 panic 不能捕获其它协程)

    在多协程并发环境下,我们常常会碰到以下两个问题.假设我们现在有 2 个协程,我们叫它们协程 A 和 B . [问题1]如果协程 A 发生了 panic ,协程 B 是否会因为协程 A 的 panic ...

  3. go语言之进阶篇主协程先退出导致子协程没来得及调用

    1.主协程先退出导致子协程没来得及调用 示例: package mainimport ("fmt""time" )//主协程退出了,其它子协程也要跟着退出 fu ...

  4. 10-线程,进程,协程,IO多路复用

    - 线程进程介绍 1. 工作最小单元是线程 2. 应用程序 -> 至少有一个进程 -> 至少有一个线程 3. 应用场景: IO密集型:线程 计算密集型:进程 4. GIL,全局解释器锁. ...

  5. python3之协程(3)---greenlet实现协程操作

    原文链接:https://www.cnblogs.com/xybaby/p/6337944.html 正文 在前面的文章中提到python原生的generator是semicoroutine,而gre ...

  6. linux的进程/线程/协程系列5:协程的发展复兴与实现现状

    协程的发展复兴与实现现状 前言 本篇摘要: 1. 协同制的发展史 1.1 协同工作制的提出 1.2 自顶向下,无需协同 1.3 协同式思想的应用 2. 协程的复兴 2.1 高并发带来的问题 2.2 制 ...

  7. php携程语比,PHP 协程

    理解生成器 参考官方文档:Generators 生成器让我们快速.简单地实现一个迭代器,而不需要创建一个实现了Iterator接口的类后,再实例化出一个对象. 一个生成器长什么样?如下 1 2 3 4 ...

  8. 王学岗Kotlin协程(三)---协程的上下文与协程的异常处理

    协程的上下文 我们使用构建器Launch去启动协程的时候,都需要指定协程上下文(没有显示指定会使用默认值). 协程上下文(CoroutineContext)是一组用于定义协程的行为元素.它由如下几项构 ...

  9. 【Kotlin 协程】协程取消 ② ( CPU 密集型协程任务取消 | 使用 isActive 判定协程状态 | 使用 ensureActive 函数取消协程 | 使用 yield 函数取消协程 )

    文章目录 一.CPU 密集型协程任务取消 二.使用 isActive 判定当前 CPU 密集型协程任务是否取消 三.使用 ensureActive 自动处理协程退出 四.使用 yield 函数检查协程 ...

最新文章

  1. 【Spring】事务控制API
  2. 「NLP-语义匹配」详解深度语义匹配模型DSSM
  3. OpenCV检测计算并匹配BRISK和AORB KAZE描述的实例(附完整代码)
  4. vnc数量限制_通过限制视觉效果在Vista上加速VNC
  5. BZOJ1251 序列终结者
  6. 工作30:加入git版本库
  7. python拨号_python 拨号代码(win10 系统亲测有效)
  8. 用无线卡王蹭网的亲身经历和感想
  9. 触控事件MotionEvent
  10. Fiddler工具使用介绍三
  11. 编程开源_5种最适合编程的开源字体
  12. LoadRunner牛刀小试
  13. 自然语言处理 第二期
  14. 前女友让我撸个植物大战僵尸,我一怒之下把代码开源了...
  15. 我的jQuery之路(笔记)--6
  16. 『dos』使用bat文件打开jupyter lab
  17. “我们“App功能介绍
  18. scikit-learn 支持向量机算法库使用小结
  19. 反射、io流、正则、网编、MySql、JavaWeb、Android等等等等等等等等等等等等等等等等等~~~~~~
  20. 让欺诈风险无处遁形的计算机视觉

热门文章

  1. 【Datawhale-Python】Task1
  2. 2022-2028年中国丁基橡胶行业市场深度分析及投资前景展望报告
  3. 2022-2028年中国pu管行业市场深度分析及市场规模预测报告
  4. Box2d 基础入门知识
  5. SpringBoot (四) :SpringBoot整合使用JdbcTemplate
  6. EdgeBERT:极限压缩bert
  7. Win10家庭版如何启用本地组策略
  8. pytorch: Variable detach 与 detach_
  9. TVM部署预定义模型
  10. 深度卷积生成对抗网络