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

推荐订阅源

Cisco Talos Blog
Cisco Talos Blog
T
Tenable Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
I
Intezer
C
Cyber Attacks, Cyber Crime and Cyber Security
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Scott Helme
Scott Helme
C
Cisco Blogs
T
Tor Project blog
P
Privacy International News Feed
Forbes - Security
Forbes - Security
S
Schneier on Security
www.infosecurity-magazine.com
www.infosecurity-magazine.com
P
Privacy & Cybersecurity Law Blog
Know Your Adversary
Know Your Adversary
T
The Exploit Database - CXSecurity.com
Security Latest
Security Latest
T
Threatpost
S
Security @ Cisco Blogs
H
Heimdal Security Blog
L
LINUX DO - 热门话题
N
News | PayPal Newsroom
N
News and Events Feed by Topic
Hugging Face - Blog
Hugging Face - Blog
T
Troy Hunt's Blog
WordPress大学
WordPress大学
腾讯CDC
V
V2EX
IT之家
IT之家
P
Proofpoint News Feed
S
Securelist
Hacker News: Ask HN
Hacker News: Ask HN
T
Threat Research - Cisco Blogs
爱范儿
爱范儿
雷峰网
雷峰网
Spread Privacy
Spread Privacy
Application and Cybersecurity Blog
Application and Cybersecurity Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Recent Commits to openclaw:main
Recent Commits to openclaw:main
The Cloudflare Blog
美团技术团队
月光博客
月光博客
博客园 - Franky
小众软件
小众软件
V
Vulnerabilities – Threatpost
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
NISL@THU
NISL@THU
阮一峰的网络日志
阮一峰的网络日志

浩瀚星河 - 个人技术博客

工作中如何做好技术积累 wrk压测工具 千万级 Mysql 表结构变更实战 MySql主从复制 Go遍历时删除特定元素 Golang中的优雅关闭与退出 Github CI自动发版 git-filter-repo 清理敏感信息 初识mcp server 短视频的推荐算法 webhook是什么 GitLab Runner 使用与 CICD 全面指南 Go Zap实现日志双写和切割 canal安装与使用 kafka-go使用 go-elasticsearch使用指南 elasticsearch安装与使用 kratos中proto文件引入其他proto爆红 go中的defer 腾讯云发送短信 什么是勇敢 go中的方法提升 docker部署mysql中文乱码问题 10万行报表导出优化实战:从 OFFSET 到游标分页 不急于求成,才是最长远的成长 redis在go中的实践 go 反射 go timer定时器 go context学习之旅 go jwt和redis实现用户登录注册以及查询 go中的panic和recover channel实现简易eventbus channel的select case控制语句 channel之生产者消费者模型 缓冲区为 1 和无缓冲区的 channel 有什么区别 使用minio的go sdk上传文件 wire优雅的管理go项目
channel 基本概念
浩瀚星河 · 2025-08-04 · via 浩瀚星河 - 个人技术博客

在 Go 语言中,channel 是一种用于**协程间通信**的数据结构。根据是否带缓冲区,channel 可分为**无缓冲区**和**有缓冲区**两类。 **无缓冲区的 channel** 是一种同步通信方式,发送和接收必须“当场配对”,发送方在没有接收方的情况下会被挂起,直到数据被接收。这就像一个共享的杯子,只有顾客喝掉牛奶,奶农才能继续挤下一杯。 **有缓冲区的 channel** 则支持异步通信,可以预先存入一定数量的值,只在缓冲区满时才会阻塞发送。它更像一个小型车间,奶农可以提前挤奶放进去,顾客随时取用。 理解这两者的差异对于编写高效的并发程序非常关键,尤其是在处理 goroutine 调度与通信时。