Section 12/132 menit

Ringkasan Konsep Kunci

Ringkasan Konsep Kunci

Konsep Mengapa Ada Kapan Digunakan Kapan Tidak Digunakan
actor Mencegah concurrent mutation pada reference type Shared mutable state lintas threads Value type, single-thread access, butuh inheritance
@MainActor UIKit tidak thread-safe UI layer, ViewModel dengan @Published Business logic, network/DB layer
nonisolated Menghindari overhead hop untuk data immutable Method hanya akses let properties Jika ada akses ke var property
Sendable Membuktikan ke compiler bahwa nilai aman dikirim lintas isolation Semua nilai yang melewati isolation boundary Tidak perlu eksplisit jika struct/enum dengan all-Sendable properties
@unchecked Sendable Bridging ke legacy/C code yang sudah thread-safe Manual synchronization yang terbukti benar Jangan untuk menghindari compiler error tanpa alasan
sending Transfer ownership tanpa Sendable Pipeline processing, nilai yang tidak diakses lagi Jika caller masih butuh nilai setelah call
isolated param Utility function yang perlu akses actor state Helper function terkait actor, testing Jika function butuh dua actor berbeda sekaligus
@globalActor Satu domain isolation untuk banyak tipe Layer terpisah (DB, Network) yang butuh shared domain Jika hanya satu instance — gunakan actor biasa
Task Unit kerja async yang mewarisi isolation Default untuk semua async work Jarang perlu hindari, ini tool utama
Task.detached Task benar-benar independent Tugas yang tidak boleh di-cancel oleh parent Hampir semua kasus — Task {} sudah cukup