Mert Özen Her Satırda Daha İleri

Blog

Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.

Seriler
17 yazı bulundu
C# Senkronizasyon: lock, Interlocked, SemaphoreSlim ve Concurrent Collection'lar
Backend SERİ 13

C# Senkronizasyon: lock, Interlocked, SemaphoreSlim ve Concurrent Collection'lar

sold++ neden bir milyonu bulmuyor: race condition ve check-then-act. lock'un kuralları ve içinde await yazılamaması, Interlocked ile atomik sayaç ve CompareExchange, async cache için SemaphoreSlim pattern'i, ConcurrentDictionary'de factory'nin birden çok kez çalışması ve Lazy<T> çözümü.

7 Kas 2026 11 dk 5
C# Channels ile Producer/Consumer: Backpressure, Bounded Channel ve Pipeline
Backend SERİ 14

C# Channels ile Producer/Consumer: Backpressure, Bounded Channel ve Pipeline

System.Threading.Channels ile async queue: kapasitesi iki olan channel'a neden üç sipariş sığıyor, Writer/Reader ve Complete, WaitToReadAsync/TryRead döngüsü, bounded channel'da FullMode seçenekleri ve itemDropped, birden çok consumer, hatayı Complete(ex) ile ileten bir sipariş pipeline'ı ve Complete'i unutmanın bedeli.

7 Kas 2026 9 dk 4
C# Timer'lar ve Bekleme: PeriodicTimer, WaitAsync ve Task.Delay
Backend SERİ 15

C# Timer'lar ve Bekleme: PeriodicTimer, WaitAsync ve Task.Delay

System.Threading.Timer'da üst üste binen callback'ler, .NET 6 PeriodicTimer ile çakışmasız periyodik iş, Thread.Sleep ile Task.Delay'in thread pool'a etkisi ve Task.Delay'in hassasiyeti, exception'ları yutan System.Timers.Timer, işlemi iptal etmeyen WaitAsync, backoff ve jitter ile retry, GC'nin topladığı timer.

7 Kas 2026 10 dk 5
C# Async ve .NET 8: TimeProvider, ConfigureAwaitOptions, Parallel.ForAsync ve CancelAsync
Backend SERİ 16

C# Async ve .NET 8: TimeProvider, ConfigureAwaitOptions, Parallel.ForAsync ve CancelAsync

.NET 6'da kendi IClock'umuzu yazıyorduk; .NET 8'de TimeProvider ve FakeTimeProvider ile 15 dakikalık bekleme testte 0 ms sürüyor. Exception fırlatmadan bekleyen SuppressThrowing ve Task<T> tuzağı, ForceYielding, index aralığını doğrudan alan Parallel.ForAsync ve callback'leri iptal edeni bekletmeden çalıştıran CancelAsync.

7 Kas 2026 10 dk 3
C# Async ve .NET 9–10: Task.WhenEach, Lock Tipi ve Framework'teki Async LINQ
Backend SERİ 17

C# Async ve .NET 9–10: Task.WhenEach, Lock Tipi ve Framework'teki Async LINQ

WhenAny döngüsünün yerini alan .NET 9 Task.WhenEach ve hatalı task'larla davranışı, C# 13 lock statement'ının tanıdığı System.Threading.Lock ile CS9216, CS1996, CS4007 ve CS9202 sınırları, .NET 10'da framework'e giren async LINQ, async Select ve System.Linq.Async paketiyle çakışmanın çözümü.

7 Kas 2026 11 dk 4
Blog Haritası