惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

宝玉的分享
宝玉的分享
Recent Commits to openclaw:main
Recent Commits to openclaw:main
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Tailwind CSS Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
罗磊的独立博客
V
Visual Studio Blog
爱范儿
爱范儿
H
Help Net Security
J
Java Code Geeks
I
InfoQ
Recent Announcements
Recent Announcements
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Recorded Future
Recorded Future
Jina AI
Jina AI
Microsoft Security Blog
Microsoft Security Blog
WordPress大学
WordPress大学
GbyAI
GbyAI
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Y
Y Combinator Blog
Google DeepMind News
Google DeepMind News
Scott Helme
Scott Helme
S
SegmentFault 最新的问题
S
Securelist
L
LINUX DO - 热门话题
Cyberwarzone
Cyberwarzone
C
Cisco Blogs
Simon Willison's Weblog
Simon Willison's Weblog
G
Google Developers Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 叶小钗
T
The Blog of Author Tim Ferriss
博客园_首页
B
Blog
F
Fortinet All Blogs
AWS News Blog
AWS News Blog
V
Vulnerabilities – Threatpost
S
Secure Thoughts
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Forbes - Security
Forbes - Security
S
Security @ Cisco Blogs
T
Threat Research - Cisco Blogs
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
S
Schneier on Security
Project Zero
Project Zero
Martin Fowler
Martin Fowler
C
Cybersecurity and Infrastructure Security Agency CISA
N
Netflix TechBlog - Medium
N
News and Events Feed by Topic

Go 编程语言

构建时自动注入版本号:从 Git tag 到 Go 可执行文件 - V2EX [边缘计算] 想借助 AI 来开发 边缘网关接入 AI 解决设备通信 不知道有没有需求 - V2EX [Go]工业边缘计算网关 edgex 业余时间独立开发 持续更新半年咯 求个 star - V2EX eget:不用等中央仓库,直接安装 GitHub 和任意下载站的工具 - V2EX gookit/gcli v3.8:新增支持共享选项、文档生成和参数重排 - V2EX V2EX 我开源了一款极简的 P2P 文件传输与 VPN 工具 (Win/Mac/ Linux /Android) - V2EX gookit/gcli v3.5.0 发布 - 简单易用、功能丰富的 Go 命令行应用与工具库 - V2EX 用 Go gRPC 信令对接 Android WebRTC:大家一般怎么划分网关和客户端边界? 在服务端用 Pion + FFmpeg + RNN 做 WebRTC 通话降噪,值得吗? 这两种 lint 报错场景, v 友们一般怎么处理 - V2EX tikrok 的部分来时路 tikrok 第 7 代微服务重构: Golang 微服务 grpc 接口与服务实现隔离方案 写了个 Go 库:在 TCP 应用协议开始前做认证,也支持端口敲门 Tikrok v6.0 新的生产级架构,成本不变,但是部署复杂略有增加 go 打包的二进制程序怎么反编译 [边缘计算开源] 工业数据采集网关 版本更新 用 golang 写了,一套面向个人音乐资产的本地优先音乐系统 做了个 Go 的 MCP Server 框架,一行代码把 Gin API 接入 AI - V2EX 写了个 Go 库解决 LLM 流式输出断线重连的问题 - V2EX Tikrok v5.0 新的的底层实现 - V2EX OpenTelemetry 分布式追踪中的回溯采样:削减 60% 尾部采样成本 - V2EX 求推荐一个 go 里运行 js 的方案 - V2EX [边缘计算] 基于 GO 的采集网关持续更新啦 - V2EX [边缘计算开源] 基于 go 写了个独立运行的工业数据采集网关 后续阶段应该如何调整 - V2EX 然后 go-kratos 不怎么活跃了,连最火的 skills 都不搞, github 也没什么人回复了 - V2EX Excelize 开源基础库发布 2.10.1 版本更新 phper 转 go 最好的 web 框架是 goframe 吗? - V2EX A Visual Studio Code extension that displays the disk size of Go module dependencies in go.mod files. - V2EX miglite: Go 极简高效的数据库迁移工具 - V2EX 每秒万级 Tick 震荡:高频行情分发,该选 Golang 的并发原生还是 Rust 的极致性能? - V2EX 给 netcat 引入了 P2P 穿透、多路复用、强加密以及内置服务模块,并且完全开源 - V2EX 使用 "go.inlayHints.parameterNames": true 在 vscode 中开启类似 goland 的参数提示 - V2EX 下面代码中 f()会被重复执行吗?大佬帮忙解答一下~ - V2EX sublimetext 开发 GO 使用体验怎么样 - V2EX [开源] 将 react 的 hooks 和 组件化思路带入 go 的 TUI 开发。 - V2EX gocar 0.2.0 版本:新增自定义命令功能,实现真正的 go 的 cargo - V2EX go 新手,求问导入包失败问题 - V2EX 之前写的, JSR-310 风格的时间日期库, 1.0 了 - V2EX 为了方便学习 go, 使用 go 做了一个命令行版本的 go playground, 代码直接一键运行, 一键编译 - V2EX 虚心请教 Go 前辈们,关于入行 - V2EX 关于 Go 的工程经验 - V2EX 微信开发框架开源,基于 Go+Wails3+React - V2EX Golang 实现的开源 NVR 支持 GB28181 & ONVIF 啦 - V2EX Go 工具库 gookit/goutil v0.7.2 发布:增强功能与修复,提升开发体验 - V2EX go-carbon v2.6.15 正式版发布,已被 docker 官方组织使用 - V2EX 如何用 3–5 个高效问题快速识别 Golang 开发者的技术素养? - V2EX 有没有 go 的 ai 应用项目学习学习 - V2EX Go 环境版本管理用哪个- -有点疑惑 - V2EX Goland 下的通义千问不能选择模型,VScode 下面的通义千问可以选择模型 - V2EX 新手入门求指导 - V2EX 看 Go 的时间库不顺眼很久了,所以从别的语言里抄了一个 - V2EX go-dongle v1.2.0 发布,新增 SM2 非对称椭圆曲线加密算法支持 - V2EX Wails2+Vue3 本地的绑定文件和 Vite 上的不一致 - V2EX go 返回错误的时候, 返回的值应该可用吗 - V2EX Go 入门基础课(2025 Golang) - V2EX goland 中如何 debug wails - V2EX 日期函数获取上一个月 bug, 在一些特殊日子才出现,比如今天 10-31 - V2EX go-carbon v2.6.14 发布,一个轻量级、语义化的 golang 时间处理库 - V2EX 为什么不用 gRPC-Go: VictoriaTraces 中实现 OTLP/gRPC 的幕后故事 - V2EX go 最新版的 map 并发读是安全的吗。 - V2EX 请问一下 golang 下有什么成熟稳定的串口通讯包? - V2EX golang.org/x/sync/syncmap 被 struct 裹挟时 使用前为什么必须为每个键初始化 不然取值得到 nil go-dongle v1.1.7 发布,新增 SM4 国密分组对称加密算法支持 在开发接口的过程中,如何快速验证结果? - V2EX go-carbon v2.6.13 发布,一个轻量级、语义化的 golang 时间处理库
goroutine 到底算不算一种 coroutine 的实现? - V2EX
YanSeven · 2025-10-27 · via Go 编程语言

这是一个创建于 230 天前的主题,其中的信息可能已经有所发展或是发生改变。

之前看论坛里有主题在讨论 goroutine 说不是协程。

那 coroutine 从原始定义上是什么,为了解决什么问题的。goroutine 是为了解决同样的课题吗?
其他经典编程语言中如何看待和实现 coroutine 的呢。

moudy

1

moudy      2025 年 10 月 27 日

windows 3.x 以及带着 gil 的 python thread 本质就是 coroutine:合作式多任务,谁不用 cpu 就把 cpu 让出来给别人。缺点是有一个卡死不让 cpu 的,别人也没办法抢 cpu 过来。好处是可以省去大量的同步处理,减少程序对数据一致性的管理开销,最大化利用(单核) cpu 时间做真正有用的事情。

goroutine 是并行运行的,算是轻量化的线程。

YanSeven

3

YanSeven      2025 年 10 月 27 日

@Dorathea 因为基本上所有的中文资料都叫”go 协程“,望文生义字面上理解的话,意思就像是 go 的 coroutine 实现。

Knuth

4

Knuth      2025 年 10 月 27 日 via iPhone

n*m ,类似于 bthread

newtype0092

5

newtype0092      2025 年 10 月 28 日   ❤️ 1

@YanSeven 本末倒置了吧,难道不是因为人家是照着 coroutine 取名 goroutine 才被翻译成 go 协程的么。。。

liaohongxing

6

liaohongxing      2025 年 10 月 28 日

一般的协程不带栈的那种吧 ,比如 python nodejs ,感觉都是状态机或者事件循环实现的。

高级点的协程都是有栈的,比如 java 的虚拟线程,go 的协程,这种有栈的就相当于一个线程了,只是轻量级。

go 的协程又范围扩大了一点,包含了 GMP 模型调度方式。起了名字叫 goroutine 。

lovelylain

7

lovelylain      2025 年 10 月 28 日

协程有无栈协程(例如 python 的 async/await )和有栈协程(例如 python 的 gevent ),goroutine 显然不是无栈协程,但它与有栈协程的区别是它是多线程的。如果把协程理解为协作式多任务,goroutine 类似线程的抢占式多任务不能算是协程。
至于 goroutine 的翻译,不翻译太啰嗦,人家英文单词都只是 coroutine 改了首字母,翻译为 go 协程显然也合理。

lzgshsj

8

lzgshsj      2025 年 10 月 28 日

我看的翻译倒是叫 GO 程,虽然有点怪怪的😂

realpg

9

realpg      2025 年 10 月 28 日

你纠结这些本质不是技术问题 本质是语言学翻译学问题

以前我经手过一个项目有个吉祥物, 是两只兔耳的造型的小人,整体连着的 这个吉祥物是有名字的, 叫"小白 two"
这玩意你说怎么翻译成英语

goroutine 是人家生造出来的词 没法恰当翻译成中文 只能近似翻译造成误解

ycp

10

ycp      2025 年 10 月 29 日

https://en.wikipedia.org/wiki/Coroutine
说白了就是更加轻量级的实现并发执行,比如 web 这种 io 密集的场景,最开始是多进程,然后是多线程,多线程也显得浪费资源了,解决不了 c10k ( 1 万个并发)的问题,还有基于事件回调的 IO 处理机制,比如 redis nginx ,但是它是单线程的不能有效的利用多核。go 的协程通过 GMP 能够通过 g 以非常小的代价就能处理一个并发了,通过逻辑队列 p 和系统线程 M 绑定,实现协程和内核线程的解耦和复用,充分利用多核又不用频繁切换协程(协程不能直接执行,是用户态的,内核的最小调度单位是线程)。go 的运行时实现了抢占调度,也可以手动让出协程。

fkdtz

11

fkdtz      2025 年 10 月 29 日

个人认为 goroutine 并不算是协程,或者说不再是纯粹的协程,而是一种用户空间的轻量级线程

bengcaca

12

bengcaca      2025 年 10 月 29 日

个人理解 goroutine 才是真协程,其他类似 kotlin 等都不是真协程或者是所谓的无栈协程。

这里便最核心的点是对于 cpu 利用率的优化,而无栈协程做不到这一点,无栈协程能做的是开发者友好,只有有栈协程才能做到 cpu 利用率的优化,这种才应该是真协程。

iseki

13

iseki      2025 年 11 月 12 日 via Android

@bengcaca 如果你指 parallel ,Kotlin coroutine 同样可以,使用 Default Dispatcher 即可