Tagged articles
26 articles
Page 1 of 1
Code Wrench
Code Wrench
Oct 11, 2025 · Backend Development

Master Go Concurrency with sync: Mutex, RWMutex, WaitGroup, Once, Cond & Pool

Learn how Go's sync package provides essential concurrency primitives—Mutex, RWMutex, WaitGroup, Once, Cond, and Pool—through clear examples and best‑practice patterns that prevent data races, deadlocks, and performance pitfalls, enabling safe, elegant, and efficient goroutine coordination.

GoOncePool
0 likes · 7 min read
Master Go Concurrency with sync: Mutex, RWMutex, WaitGroup, Once, Cond & Pool
BirdNest Tech Talk
BirdNest Tech Talk
Dec 16, 2024 · Backend Development

Five Ways to Build a Broadcast Notifier in Go

This article examines five Go implementations of a broadcast notifier—using sync.Cond, channels, context, sync.WaitGroup, and sync.RWMutex—detailing their code, execution flow, and trade‑offs so readers can understand how each primitive achieves notification broadcasting.

ChannelGobroadcast
0 likes · 9 min read
Five Ways to Build a Broadcast Notifier in Go
MaGe Linux Operations
MaGe Linux Operations
Sep 28, 2024 · Backend Development

Master Go Concurrency: Goroutines, Channels, Locks, Timers and Synchronization

This comprehensive guide explains the fundamentals of concurrent programming in Go, covering the differences between parallelism and concurrency, process and thread concepts, and detailed usage of goroutines, channels, select statements, timers, mutexes, read‑write locks, wait groups, once, sync.Map, and atomic operations with practical code examples and diagrams.

ChannelGoroutineParallelism
0 likes · 42 min read
Master Go Concurrency: Goroutines, Channels, Locks, Timers and Synchronization
BirdNest Tech Talk
BirdNest Tech Talk
Aug 28, 2024 · Backend Development

How to Provide Both Async and Sync APIs in a Rust Library Without Duplicating Code

This article walks through the challenges of offering both asynchronous and synchronous interfaces for a Rust API client, evaluates naive copy‑paste solutions, explores runtime‑based wrappers and the maybe_async procedural macro, and finally presents a clean, feature‑flagged design that avoids code duplication and compile‑time overhead.

AsyncRustcargo
0 likes · 23 min read
How to Provide Both Async and Sync APIs in a Rust Library Without Duplicating Code
AI Illustrated Series
AI Illustrated Series
Nov 16, 2023 · Fundamentals

Unlocking Go’s Secrets: nil, context, slices, maps, and concurrency primitives

This article provides a comprehensive, step‑by‑step analysis of Go’s core concepts—including nil handling, the context package, string and rune internals, unsafe pointers, memory alignment, WaitGroup, semaphores, channels, slices, map implementations, sync.Map, garbage collection, and reflection—illustrated with concrete code examples and detailed reasoning.

Garbage CollectionGoMemory
0 likes · 30 min read
Unlocking Go’s Secrets: nil, context, slices, maps, and concurrency primitives
Liangxu Linux
Liangxu Linux
Oct 10, 2023 · Operations

Master Your Shell History with Atuin: Install, Sync, and Powerful Search

Atuin replaces the traditional shell history with a SQLite‑backed, feature‑rich UI, offering encrypted synchronization across machines, detailed command metadata, and flexible search capabilities, while providing multiple installation methods and shell plugin integrations for zsh, bash, and fish.

SQLiteShellatuin
0 likes · 8 min read
Master Your Shell History with Atuin: Install, Sync, and Powerful Search
37 Interactive Technology Team
37 Interactive Technology Team
Jun 15, 2023 · Backend Development

Concurrent Safety of Go Maps: Issues, Solutions, and Performance Comparison

Go maps are not safe for concurrent access, so programs can panic when multiple goroutines read and write the same map; to prevent this you can use sync.Once for immutable data, protect maps with sync.RWMutex, employ sharded locks via concurrent‑map, or use the built‑in sync.Map, each offering different performance trade‑offs depending on read/write ratios and concurrency level.

GoMAPRWMutex
0 likes · 13 min read
Concurrent Safety of Go Maps: Issues, Solutions, and Performance Comparison
MaGe Linux Operations
MaGe Linux Operations
Sep 16, 2022 · Backend Development

Mastering Goroutine Limits: How to Control Go Concurrency Efficiently

Learn how Go's lightweight goroutines work, why unlimited spawning can cause panics, and practical techniques—using sync.WaitGroup, buffered channels, and worker pools—to limit concurrent goroutine numbers safely and efficiently while preserving program correctness and performance.

ChannelGoroutineWorker Pool
0 likes · 4 min read
Mastering Goroutine Limits: How to Control Go Concurrency Efficiently
New Oriental Technology
New Oriental Technology
Dec 10, 2021 · Backend Development

Implementing a Concurrent-Safe Queue in Go

This article explains Go's concurrency safety mechanisms, demonstrates how to build a thread‑safe queue using mutexes, sync.Cond, and context cancellation, and provides complete example code and tests to illustrate proper synchronization and resource management.

GoroutineQueueconcurrency
0 likes · 10 min read
Implementing a Concurrent-Safe Queue in Go
Sohu Tech Products
Sohu Tech Products
Nov 25, 2020 · Mobile Development

Deep Dive into GCD Dispatch Queues, sync/async Behavior, and RunLoop Interaction on iOS

This article explores the intricacies of Grand Central Dispatch on iOS, debunking common misconceptions about main thread and main queue execution, analyzing the internal handling of synchronous tasks, and demonstrating how run‑loop activation influences queue‑thread relationships through a series of code experiments.

AsyncGCDdispatch_queue
0 likes · 14 min read
Deep Dive into GCD Dispatch Queues, sync/async Behavior, and RunLoop Interaction on iOS
Ctrip Technology
Ctrip Technology
Jun 29, 2020 · Backend Development

Controlling Goroutine Concurrency in Go: Risks of Unbounded Goroutine Creation and Practical Limiting Techniques

The article explains why creating unlimited Goroutines in Go can exhaust system resources, demonstrates the problem with a sample program, and presents practical methods—including channel throttling, sync.WaitGroup, and third‑party Goroutine pools—to safely limit concurrency and improve performance.

ChannelGoGoroutine
0 likes · 10 min read
Controlling Goroutine Concurrency in Go: Risks of Unbounded Goroutine Creation and Practical Limiting Techniques
Senior Brother's Insights
Senior Brother's Insights
Mar 17, 2018 · Blockchain

Why Does Ethereum Sync Stall? Common Issues and Fixes

This guide compiles the most frequent Ethereum synchronization problems—such as blocks lagging by dozens, the sync process stalling at 99%, zero block height or balance readings, and abnormal logs—and provides step‑by‑step commands, hardware tips, cache settings, and log‑analysis techniques to diagnose and resolve them.

BlockchainEthereumNode
0 likes · 9 min read
Why Does Ethereum Sync Stall? Common Issues and Fixes
Architect
Architect
Jun 23, 2016 · Mobile Development

Analysis of WeChat Sync Protocol and Network Architecture

The article provides a detailed technical analysis of WeChat's communication protocol, describing its SYNC‑based state synchronization, short and long connection designs, packet structures, SyncKey handling, multi‑device login, and differences between mobile and web clients, offering insight for developers and engineers.

WeChatmobile messagingnetwork
0 likes · 18 min read
Analysis of WeChat Sync Protocol and Network Architecture