小红花·文摘
  • 首页
  • 广场
  • 排行榜🏆
  • 直播
  • FAQ
Dify.AI

团队在防沉迷上报服务中遇到内存溢出(OOM)问题,分析发现是由于中午触发的bug导致Goroutines数量激增。通过实现队列上报,解决了死锁风险和定时器使用不当的问题,提升了系统效率。

死锁日记:手写 GoLang 上报队列

了迹奇有没
了迹奇有没 · 2025-12-30T19:54:37Z
探索Rate包和Token Bucket算法

Token Bucket是一种流量控制策略,通过限制令牌数量来管理并发执行。Go语言中的rate包提供三种策略:allow、wait和reserve,帮助开发者控制goroutines的执行,并支持简单的Circuit Breaker实现,适用于多goroutine环境。

探索Rate包和Token Bucket算法

DEV Community
DEV Community · 2025-05-16T00:24:43Z
Goroutine调度:从零到英雄的Go并发之路

Goroutines是Go语言的轻量级并发机制,启动内存仅需2KB,支持高效调度。G-M-P模型(G为goroutine,M为线程,P为调度器)确保任务高效分配。通过工作窃取和动态栈调整,goroutines能够高效处理大量任务,节省资源。掌握其调度原理和最佳实践可显著提升性能,避免常见错误。

Goroutine调度:从零到英雄的Go并发之路

DEV Community
DEV Community · 2025-05-12T00:55:47Z
与Goroutines共舞:掌握Go语言中的并发模式 🧵🚀

Go语言通过goroutines和channels简化了并发编程,goroutines内存占用少,支持成千上万的并发执行。channels安全传递消息,避免数据损坏。常见模式如工作池和上下文取消,帮助高效管理并发任务,构建健壮应用。

与Goroutines共舞:掌握Go语言中的并发模式 🧵🚀

DEV Community
DEV Community · 2025-04-09T08:00:00Z
驯服并发之兽:Go语言的goroutines与channels指南 🐹💪

Go语言通过轻量级的goroutines和安全的channels,简化了并发编程的复杂性。goroutines内存占用低,channels确保安全通信。结合上下文管理和工作池模式,Go使并发编程高效且愉快。

驯服并发之兽:Go语言的goroutines与channels指南 🐹💪

DEV Community
DEV Community · 2025-04-03T09:04:00Z
掌握Go中的Goroutines、并发和互斥锁

Go语言通过goroutines和channels实现并发,适合构建可扩展应用。goroutine是轻量级线程,支持异步非阻塞执行。channels用于安全通信,mutex防止竞争条件。最佳实践包括合理使用goroutines、优先使用channels、必要时使用mutex、利用sync.WaitGroup确保执行完成,以及使用竞争检测器。这些概念有助于编写高效、安全的Go应用。

掌握Go中的Goroutines、并发和互斥锁

DEV Community
DEV Community · 2025-04-03T07:24:40Z
使用parwork并行处理工作

Go语言通过goroutines和fork-join模型处理大量工作,减少上下文切换。Parwork利用goroutines、通道和等待组创建工作者,从队列中提取并处理任务。用户需实现Work接口、WorkGenerator和WorkCollector函数。示例中,md5Work结构体用于计算字符串的MD5哈希。

使用parwork并行处理工作

DEV Community
DEV Community · 2025-03-28T19:29:43Z
并发与并行 | Golang | 哪个更好,为什么?

本文视频深入探讨了Golang中的并发与并行,阐明了两者的主要区别、应用场景及优缺点,涵盖并发实现方法、代码示例和最佳实践,帮助新手和优化程序员有效利用goroutines、channels和worker pools。

并发与并行 | Golang | 哪个更好,为什么?

DEV Community
DEV Community · 2025-02-15T05:38:24Z
本周学习 #3

我对Go语言的goroutines有了基本理解,接下来将重点研究context包。我认识到数据竞争和竞争条件是不同的,掌握并发问题非常重要。将继续深入学习这些主题。

本周学习 #3

DEV Community
DEV Community · 2025-02-10T16:00:00Z
本周学习总结 #2

本周我学习了Go语言的并发、goroutines和mutex,撰写相关文章。同时阅读了《编程规则》等书籍,减少了70%的播客和30%的RSS订阅,开始使用Audible,以便更专注于重要内容。

本周学习总结 #2

DEV Community
DEV Community · 2025-02-04T16:00:00Z
Go语言中的并发、Goroutines与Channels研究

本文探讨了Go语言中的并发,重点介绍了Goroutines和Channels。Goroutine是执行单元,支持并发操作;Channel用于Goroutines之间的通信与同步。文章通过示例展示了如何使用Goroutines和WaitGroup管理任务进度,并介绍了Mutex以防止数据冲突。

Go语言中的并发、Goroutines与Channels研究

DEV Community
DEV Community · 2025-01-29T16:00:00Z
你的Go代码中隐藏着定时炸弹:竞争条件解析 💣

Goroutines是Go语言的轻量级线程,支持并发处理。使用Goroutines处理订单可将时间从6分钟缩短至500毫秒。但多个Goroutines同时访问共享资源可能导致竞争条件,因此需要使用Mutex或原子操作等同步机制来确保数据一致性。Mutex通过锁定资源实现顺序访问,而原子操作则提供无中断的更新方式,二者均能有效解决竞争问题,确保库存准确。

你的Go代码中隐藏着定时炸弹:竞争条件解析 💣

DEV Community
DEV Community · 2025-01-20T09:30:01Z
Weekly Issue-《冬泳》

文章总结了GitHub Actions的使用经验,包括Dockerfile的应用、Action模块的解耦、Variables和Secrets的配置等。还提到Go语言中的Goroutines可能导致死锁,以及CloudFlare开发者文档的迁移。最后讨论了职场跳槽策略和个人成长反思。

Weekly Issue-《冬泳》

Yiran's Blog
Yiran's Blog · 2025-01-12T00:00:00Z
在Go中为Redis服务器创建事件循环的思考过程

事件循环是一个持续处理事件的服务器,通过非阻塞队列实现并发执行。Redis命令作为事件接收,服务器结构包括监听器、客户端连接和事件队列。处理连接时需确保线程安全,使用goroutines实现非阻塞处理,以支持多个客户端的同时连接。

在Go中为Redis服务器创建事件循环的思考过程

DEV Community
DEV Community · 2025-01-05T08:12:03Z
Go 并发模型—Goroutines

Goroutines 是 Go 语言的并发原语,具有低创建和管理成本,能高效调度到真实线程。相比传统进程和线程,Goroutines 提供更高效的资源利用,简化并发编程,避免回调地狱。Go 的调度器能处理阻塞调用,使得编写简单的阻塞代码变得高效可行。

Go 并发模型—Goroutines

mghio
mghio · 2024-12-21T06:10:49Z
通过直观的视觉效果理解Golang中的Goroutines和Channels

本文介绍了Go语言的并发编程,强调运行示例、实验和思考的重要性。通过goroutines和channels实现文件下载的并发处理,并介绍了sync.WaitGroup的使用。最后讨论了缓冲通道的优缺点及应用场景,为更高级的并发模式奠定基础。

通过直观的视觉效果理解Golang中的Goroutines和Channels

DEV Community
DEV Community · 2024-12-20T00:35:36Z
Goroutines与通道:Go中的并发模式

并发允许独立处理多个任务。通过使用goroutines和sync包,可以高效处理HTTP文件上传。使用WaitGroup等待所有goroutine完成,并利用信号量限制并发数量,确保系统稳定。此外,可以根据文件类型使用加权信号量分配不同资源。

Goroutines与通道:Go中的并发模式

DEV Community
DEV Community · 2024-12-11T06:34:34Z
掌握Go的Nursery模式:提升并发代码的效率与健壮性

Goroutines和结构化并发在Go编程中至关重要。Nursery模式通过组织任务组,提升并发管理能力,确保优雅的错误处理。它允许创建父上下文,控制子goroutine行为,并在出错时取消所有子任务,支持资源管理和并发限制,适用于复杂依赖关系和微服务架构,帮助构建更健壮的系统。

掌握Go的Nursery模式:提升并发代码的效率与健壮性

DEV Community
DEV Community · 2024-12-04T09:29:54Z

我们常常忽视应用日志的规划,导致后续返工。合理使用日志能改善问题分析并影响性能。文章通过两个示例展示:第一个是信息价值低的常见日志记录方式;第二个是结构化日志,仅在结束时显示时间和信息。两个示例使用 goroutines 处理十万次循环,结果显示精心设计的日志对性能有明显影响。

Golang:规划高负载应用日志显示的重要性

DEV Community
DEV Community · 2024-10-10T14:47:40Z

并发和并行在Go语言中有不同应用。并发通过goroutines实现,快速切换任务,提高响应性;并行通过GOMAXPROCS设置,利用多核同时执行任务。Go简化了这两者的实现,适用于Web服务器、视频平台等场景。

在 Go 语言中理解并行与并发

DEV Community
DEV Community · 2024-10-09T07:18:00Z
  • <<
  • <
  • 1 (current)
  • 2
  • >
  • >>
👤 个人中心
在公众号发送验证码完成验证
登录验证
在本设备完成一次验证即可继续使用

完成下面两步后,将自动完成登录并继续当前操作。

1 关注公众号
小红花技术领袖公众号二维码
小红花技术领袖
如果当前 App 无法识别二维码,请在微信搜索并关注该公众号
2 发送验证码
在公众号对话中发送下面 4 位验证码
友情链接: MOGE.AI 九胧科技 模力方舟 Gitee AI 菜鸟教程 Remio.AI DeekSeek连连 53AI 神龙海外代理IP IPIPGO全球代理IP 东波哥的博客 匡优考试在线考试系统 开源服务指南 蓝莺IM Solo 独立开发者社区 AI酷站导航 极客Fun 我爱水煮鱼 周报生成器 He3.app 简单简历 白鲸出海 T沙龙 职友集 TechParty 蟒周刊 Best AI Music Generator

小红花技术领袖俱乐部
小红花·文摘:汇聚分发优质内容
小红花技术领袖俱乐部
Copyright © 2021-
粤ICP备2022094092号-1
公众号 小红花技术领袖俱乐部公众号二维码
视频号 小红花技术领袖俱乐部视频号二维码