Code Explainers
Code explainers tagged #thread-safety
java
public class SlidingLogRateLimiter { private final int maxRequests; private final long windowMillis;
How a sliding-log rate limiter works
rate-limiting
concurrency
sliding-window
Advanced
8 steps
java
public final class TokenBucketRateLimiter { private final long capacity; private final double refillTokensPerNano;
How a token bucket rate limiter works
rate-limiting
concurrency
token-bucket
Intermediate
8 steps
ruby
require 'monitor' class TokenBucket include MonitorMixin
A thread-safe token bucket rate limiter in Ruby
rate-limiting
concurrency
thread-safety
Intermediate
8 steps
java
public class EventBus { private final Map<Class<?>, List<Subscriber>> subscribers = new ConcurrentHashMap<>(); private final Executor executor;
Building an annotation-driven EventBus in Java
publish-subscribe
reflection
annotations
Intermediate
7 steps
go
package metrics import ( "sync/atomic"
A lock-free request counter in Go
concurrency
atomics
lock-free
Intermediate
6 steps
java
import java.util.concurrent.atomic.AtomicInteger; public final class RequestCounter {
A thread-safe request counter with AtomicInteger
concurrency
atomics
lock-free
Intermediate
6 steps
java
public final class Debouncer<T> { private final ScheduledExecutorService scheduler = Executors.newSingleThreadScheduledExecutor(runnable -> {
How a debouncer collapses bursts in Java
debounce
concurrency
scheduling
Intermediate
9 steps
python
import time from collections import defaultdict from threading import Lock
Sliding-window login rate limiting in Flask
rate-limiting
sliding-window
thread-safety
Intermediate
7 steps
java
import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.math.BigInteger;
A thread-safe memoized factorial cache
memoization
thread-safety
caching
Intermediate
6 steps
java
import java.time.Duration; import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.ScheduledFuture;
A safe recurring heartbeat scheduler in Java
concurrency
scheduling
thread-safety
Intermediate
6 steps
ruby
class ThreadSafeCounter def initialize(initial = 0) @count = initial @mutex = Mutex.new
A thread-safe counter with Mutex in Ruby
concurrency
mutex
thread-safety
Intermediate
6 steps
go
package main import "sync"
Mutex vs RWMutex in Go
concurrency
mutex
synchronization
Intermediate
6 steps