Tag

channel

1 views collected around this technical thread.

php中文网 Courses
php中文网 Courses
Jun 3, 2025 · Backend Development

Understanding Go's Concurrency Model: Goroutine, Channel, Select, WaitGroup, and Context

This article explains Go's lightweight concurrency model, covering Goroutine creation, Channel communication, Select multiplexing, synchronization with WaitGroup and Context, common concurrency patterns such as worker pools and pub/sub, and provides best‑practice recommendations for building high‑performance concurrent programs.

ContextGoWaitGroup
0 likes · 7 min read
Understanding Go's Concurrency Model: Goroutine, Channel, Select, WaitGroup, and Context
FunTester
FunTester
Mar 26, 2025 · Backend Development

Common Go Concurrency Errors and Best Practices

This article examines frequent mistakes in Go's concurrent programming—such as confusing concurrency with parallelism, assuming concurrency always speeds up execution, misusing channels versus mutexes, overlooking workload types, and misunderstanding contexts—provides detailed explanations, potential impacts, and best‑practice solutions with improved code examples.

ContextGoMutex
0 likes · 27 min read
Common Go Concurrency Errors and Best Practices
Raymond Ops
Raymond Ops
Jan 25, 2025 · Backend Development

Master Go Concurrency: Goroutines, Scheduler, and Synchronization Techniques

This article explains Go's concurrency model, detailing how goroutines are scheduled on logical processors, how to create and manage them, detect and resolve race conditions using atomic operations, mutexes, and channels, and demonstrates practical code examples for each concept.

AtomicBackendGo
0 likes · 19 min read
Master Go Concurrency: Goroutines, Scheduler, and Synchronization Techniques
Raymond Ops
Raymond Ops
Jan 4, 2025 · Backend Development

Why This Simple Go Program Deadlocks: The Hidden Goroutine Trap

The article explains why a seemingly straightforward Go program that creates an unbuffered channel, launches a goroutine to print a received value, and then sends a value deadlocks, analyzes the evaluation order of go statements, and shows how to fix the issue by moving the receive into a separate goroutine.

Gochannelconcurrency
0 likes · 7 min read
Why This Simple Go Program Deadlocks: The Hidden Goroutine Trap
Go Programming World
Go Programming World
Jun 4, 2024 · Backend Development

Understanding and Using Empty Structs (struct{}) in Go

This article explains the zero‑size nature of Go's empty struct, demonstrates how its memory address behaves, shows its impact on struct alignment, and presents multiple practical patterns such as set implementation, large arrays, signal channels, no‑op methods, interface stubs, and the noCopy identifier.

Gochannelempty-struct
0 likes · 17 min read
Understanding and Using Empty Structs (struct{}) in Go
Tencent Cloud Developer
Tencent Cloud Developer
Nov 28, 2022 · Backend Development

Understanding Go Channels: Implementation, Usage, and Performance

The article explains Go’s channel implementation as a lock‑protected FIFO queue composed of a circular buffer, send and receive wait queues, detailing creation, send/receive mechanics, closing behavior, a real‑world memory‑leak example, and why this design offers safe, performant concurrency comparable to mutexes.

GoMemory LeakRuntime
0 likes · 29 min read
Understanding Go Channels: Implementation, Usage, and Performance
FunTester
FunTester
Feb 17, 2022 · Backend Development

Performance Evaluation of Go Channels Compared with Java Disruptor and LinkedBlockingQueue

This article presents a comprehensive performance test of Go language channels, comparing them with Java's Disruptor and LinkedBlockingQueue across various object sizes, queue lengths, and producer/consumer thread counts, and provides practical recommendations based on the benchmark results.

DisruptorGoHTTP
0 likes · 13 min read
Performance Evaluation of Go Channels Compared with Java Disruptor and LinkedBlockingQueue
Tencent Cloud Developer
Tencent Cloud Developer
Jan 25, 2022 · Fundamentals

Understanding Go's Concurrency Model: Goroutine, Scheduler (GMP) and Channels

Go implements a two‑level N:M concurrency model where lightweight Goroutines (G) run on logical processors (P) backed by OS threads (M), with the GMP scheduler managing run queues and channels—mutex‑protected circular buffers with send/receive queues—providing efficient, preemptive multitasking and communication.

GMPGoRuntime
0 likes · 33 min read
Understanding Go's Concurrency Model: Goroutine, Scheduler (GMP) and Channels
Tencent Cloud Developer
Tencent Cloud Developer
Dec 20, 2021 · Backend Development

Go Concurrency Basics, Libraries, and Best Practices

The article explains Go’s scheduler (M, P, G), demonstrates goroutine, channel, and select usage, covers sync primitives, atomic ops, context cancellation, singleflight, common pitfalls, debugging tools, and a channel‑driven chatroom case study, offering best‑practice guidance for efficient concurrent programming.

Best PracticesConcurrencyGo
0 likes · 21 min read
Go Concurrency Basics, Libraries, and Best Practices
ByteDance Dali Intelligent Technology Team
ByteDance Dali Intelligent Technology Team
Nov 19, 2021 · Mobile Development

Using Kotlin Flow and Channel to Solve Android Development Pain Points and Implement an MVI Architecture

This article demonstrates how Kotlin Flow and Channel can address common Android development challenges such as ViewModel‑View communication and event handling, compares alternatives like LiveData and RxJava, and presents a practical MVI architecture implementation with code examples.

AndroidFlowKotlin
0 likes · 24 min read
Using Kotlin Flow and Channel to Solve Android Development Pain Points and Implement an MVI Architecture
New Oriental Technology
New Oriental Technology
Jul 5, 2021 · Backend Development

Introduction to Java NIO: Buffers, Channels, and Selectors

This article provides a comprehensive overview of Java NIO, explaining the differences between BIO and NIO, the concepts of synchronous/asynchronous and blocking/non‑blocking I/O, and detailing the usage and implementation of Buffers, Channels, and Selectors with code examples.

BufferNIOSelector
0 likes · 10 min read
Introduction to Java NIO: Buffers, Channels, and Selectors
360 Tech Engineering
360 Tech Engineering
Apr 9, 2021 · Blockchain

Understanding Consortium Chains and Hyperledger Fabric's Admission Mechanism

This article compares consortium (alliance) chains with public chains, explains why consortium chains are favored in enterprise scenarios, and details Hyperledger Fabric's admission mechanism, including MSP identity, channel architecture, and member management, supported by diagrams and practical examples.

BlockchainHyperledger FabricMSP
0 likes · 11 min read
Understanding Consortium Chains and Hyperledger Fabric's Admission Mechanism
360 Smart Cloud
360 Smart Cloud
Apr 9, 2021 · Blockchain

Consortium Chains vs Public Chains and the Admission Mechanism of Hyperledger Fabric

This article explains the key differences between consortium (permissioned) and public blockchains, details Hyperledger Fabric’s architecture—including MSP, channels, and ordering services—and describes how Fabric implements an admission mechanism to control network membership.

BlockchainHyperledger FabricMSP
0 likes · 9 min read
Consortium Chains vs Public Chains and the Admission Mechanism of Hyperledger Fabric
Code Ape Tech Column
Code Ape Tech Column
Mar 2, 2021 · Backend Development

A Quick Introduction to Java NIO with Practical Examples

This article explains Java NIO fundamentals—including Channels, Buffers, and Selectors—compares them with traditional IO, and provides multiple runnable code examples such as FileChannel, SocketChannel, Selector loops, memory‑mapped files, scatter/gather, transferTo/From, Pipe and DatagramChannel to illustrate non‑blocking and high‑performance I/O.

BufferIOJava
0 likes · 31 min read
A Quick Introduction to Java NIO with Practical Examples
Ctrip Technology
Ctrip Technology
Dec 3, 2020 · Mobile Development

Applying Kotlin Coroutines and Jetpack MVVM in Ctrip Flight App: Architecture, Implementation, and Production Challenges

This article explains how Ctrip's flight Android app refactored its home page using Kotlin coroutines, Jetpack AAC components, and MVVM architecture, detailing the technical and business background, code patterns, production issues, and lessons learned for large‑scale mobile development.

AndroidJetpackKotlin
0 likes · 20 min read
Applying Kotlin Coroutines and Jetpack MVVM in Ctrip Flight App: Architecture, Implementation, and Production Challenges
Sohu Tech Products
Sohu Tech Products
Sep 23, 2020 · Backend Development

Understanding Go Channels: Unbuffered vs Buffered, Usage, and Common Patterns

This article explains Go's channel primitive, comparing unbuffered and buffered channels, demonstrates how to avoid deadlocks with proper goroutine coordination, and shows typical patterns such as select, closing channels, and building concurrency controllers for robust backend services.

Gobufferedchannel
0 likes · 14 min read
Understanding Go Channels: Unbuffered vs Buffered, Usage, and Common Patterns
Beike Product & Technology
Beike Product & Technology
Jul 16, 2020 · Fundamentals

In-depth Source Analysis of Go Channels (Go 1.14)

This article provides a comprehensive source‑level examination of Go's channel mechanism—including usage examples, the internal hchan data structure, creation, read/write operations, closing behavior, and common pitfalls—based on the Go 1.14 runtime implementation.

BufferGoRuntime
0 likes · 14 min read
In-depth Source Analysis of Go Channels (Go 1.14)
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.

Gochannelconcurrency
0 likes · 10 min read
Controlling Goroutine Concurrency in Go: Risks of Unbounded Goroutine Creation and Practical Limiting Techniques
Laravel Tech Community
Laravel Tech Community
May 29, 2020 · Backend Development

Swoole Coroutine Channel: Overview, Methods, and Example Usage

This article introduces Swoole's Coroutine Channel for inter‑coroutine communication, explains its memory‑efficient implementation and key methods such as __construct, push, pop, stats, close, length, isEmpty, isFull, capacity and errCode, and provides a complete PHP example demonstrating producer‑consumer behavior.

CoroutineSwooleasync
0 likes · 5 min read
Swoole Coroutine Channel: Overview, Methods, and Example Usage
Xueersi Online School Tech Team
Xueersi Online School Tech Team
Dec 13, 2019 · Fundamentals

Understanding Go Channels: Concepts, Implementation, and Practical Usage

This article explains what Go channels are, how they are implemented in the runtime, their data structures, creation, sending, receiving, closing semantics, common pitfalls, and includes detailed code examples to illustrate channel behavior in concurrent programs.

BufferGochannel
0 likes · 25 min read
Understanding Go Channels: Concepts, Implementation, and Practical Usage