golang中如何退出goroutine
2024-10-19 22:27:46
package main import (
"fmt"
"runtime"
"time"
) func main() {
// 用goroutine创建承载一个形参为空,返回值为空的一个函数
go func() {
defer fmt.Println("A.defer")
func() {
defer fmt.Println("B.defer")
// 退出当前的goroutine
runtime.Goexit()
fmt.Println("B")
}()
fmt.Println("A")
}()
time.Sleep(time.Millisecond * 200) // 因为goroutine是异步操作,所以不能直接拿到返回值的,
// 如果两个goroutine中想互相通信,可以通过channel
go func(a, b int) bool {
fmt.Println("a = ", a, "b = ", b)
return true
}(10, 20)
} // 输出结果
/*
B.defer
A.defer
*/
最新文章
- Linux中的命令 make -f 是什么意思
- GJM : Unity3D 常用网络框架与实战解析 【笔记】
- Error: An App ID with identifier ";*****"; is not avaliable. Please enter a different string.
- 总结:Unity3D游戏上线后的流程回顾
- 第二章实例:ArrayAdapter结合ListView列表视图
- Thrift入门
- FreeMarker的用法
- Python-将json文件写入ES数据库
- informix 随笔
- 设置外部查找工具来索引 Confluence 6
- JavaScript中的定时事件
- C# 队列和栈 线程安全
- hdu 5092 线裁剪(纵向连线最小和+输出路径)
- Linux下设置和查看环境变量
- MySQL 用户管理及权限管理
- nodejs中命令行中参数的获取和解析
- 按位与&;、按位或|、按位异或^
- http请求发生了两次(options请求)
- bootstrap源码学习与示例:bootstrap-tab
- 【JAVA】虚拟机指令集
热门文章
- 总结Vue第一天:简单介绍、基本常用知识、辅助函数
- JAVA将Object数组转换为String数组
- 模块化和webpack模块化打包
- 【LeetCode】168. Excel Sheet Column Title 解题报告(Java & Python & C++)
- 【LeetCode】76. Minimum Window Substring 最小覆盖子串(Python & C++)
- 【LeetCode】844. Backspace String Compare 解题报告(Python)
- Anti-prime Sequences
- idea使用教程-Module的概念和使用
- 第十八个知识点:画一个描述ECB,CBC,CTR模式的操作
- CoGAN