VISUALIZING C# CONCURRENCY: A RESEARCH-DRIVEN GUIDE
=====================================================
Tagline:
"Jangan hanya menulis async/await — pahami apa yang sebenarnya terjadi di memori saat thread berjalan."
Author: Afandy Lamusu (Senior Backend Engineer & Software Architect)
Target Audience: Beginner C# Developers
Methodology: Visual-First + Benchmark-Driven
Tech Stack: .NET 9, C# 13, BenchmarkDotNet 0.14.0
OVERVIEW
--------
Buku ini dirancang untuk mendemistifikasi konsep concurrency di C# melalui pendekatan visual dan berbasis data. Pembaca diajak bukan hanya menggunakan API, tapi memahami mekanisme internal runtime .NET saat mengelola thread dan task.
STRUKTUR BUKU
-------------
PART I — Fondasi: Memahami Thread dari Nol
- Chapter 1: Apa Itu Thread, Sebenarnya?
- Chapter 2: ThreadPool dan Task — Pekerja yang Lebih Pintar
- Chapter 3: Async/Await Demystified
PART II — Bahaya: Visualisasi Masalah Concurrency
- Chapter 4: Race Conditions — Ketika Thread Saling Menginjak
- Chapter 5: Deadlocks — Ketika Semua Thread Berhenti
- Chapter 6: Thread Starvation — Ketika Thread Kelaparan
PART III — Senjata: Synchronization Primitives
- Chapter 7: Lock, Monitor, dan Mutex
- Chapter 8: Semaphore, ReaderWriterLock, dan Concurrent Collections
PART IV — Praktek: Pattern, Profiling, dan Production
- Chapter 9: Concurrency Patterns yang Wajib Diketahui
- Chapter 10: Profiling Concurrency — Workflow Praktis
- Chapter 11: Concurrency di ASP.NET Core
- Chapter 12: Checklist, Cheat Sheet, dan Langkah Selanjutnya
APPENDIX
- Setup Environment, Glossary, Benchmark Results, & Diagram List
TOOLS YANG DIGUNAKAN
--------------------
- BenchmarkDotNet: Mengukur performa threading secara presisi.
- JetBrains DotTrace: Visualisasi timeline thread.
- VS Concurrency Visualizer: Menganalisis eksekusi thread secara visual.
- PerfView: Deep analysis berbasis ETW.
- SharpLab / ILSpy: Membedah state machine async/await.
- LINQPad: Eksperimen kode cepat.
FORMAT PEMBELAJARAN
-------------------
Setiap bab menyertakan Analogi Dunia Nyata, Penjelasan Visual (Diagram/Memory Map), Kode Contoh yang bisa dijalankan, Lab Eksperimen Hands-on, serta daftar Key Outcomes dan Common Mistakes.