Tag: concurrency
8 posts
-
Python asyncio in Practice: Event Loops, Async Context Managers, Concurrency Limits and Debugging
Use Python asyncio correctly: how the event loop runs coroutines, capping concurrency with Semaphore, async context managers, and when threads fit better.
-
How CPython Runs Your Code: Bytecode, the GIL, Reference Counting and the Import System
CPython architecture from AST to ceval, the GIL and concurrency trade-offs, refcount and generational GC, importlib and package rules, plus logging.
-
Go context: Timeouts, Cancellation, and Why Goroutines Keep Running
How context.WithTimeout, WithCancel and WithDeadline really behave in Go: nested deadlines, cancel causes, HTTP client and server wiring, and leak traps.
-
C++ vs Go: Performance, Concurrency Models, and When to Choose Each
C++ vs Go: performance, concurrency, and practical selection — scenarios, models, pitfalls, and production patterns for backend and systems work.
-
Rust Concurrency: Threads, Channels, Arc and Mutex, and the Errors You Will Hit
How std::thread, mpsc channels, Arc<Mutex<T>>, atomics and scoped threads work in Rust, why Send and Sync exist, and how to fix E0373, Rc-not-Send and lock bugs
-
Kotlin Coroutines vs Threads: Cost, Dispatchers, Structured Concurrency and Cancellation
Comparison of Kotlin coroutines and OS threads: lightweight concurrency, memory overhead, scheduling, structured concurrency, Dispatchers.
-
Go in 2 Weeks #06: Goroutines, Buffered vs Unbuffered Channels, select and Worker Pools
Goroutines and channels for C++ developers: the scheduler, unbuffered vs buffered semantics, select and timeouts, worker pools, and deadlocks and leaks.
-
C++ std::atomic: Atomic Operations, Memory Order, and compare_exchange
How std::atomic prevents data races in C++: load/store/fetch_add, compare_exchange_weak vs strong, the memory orders relaxed, acquire/release and seq_cst, and when a mutex is still the better tool.