Section 13/161 menit

13. Kapan Harus Digunakan

13. Kapan Harus Digunakan

  • Region-based isolation: Saat memiliki nilai non-Sendable yang perlu dipindah ke background task dan Anda bisa memastikan tidak ada akses dari scope asal setelahnya.
  • sending parameter: Saat membuat fungsi/initializer yang menerima nilai non-Sendable dan bertanggung jawab mengelolanya di isolation domain yang berbeda.
  • Custom global actor: Saat memiliki kategori resource (database, file I/O, network) yang butuh serial access tapi independen dari @MainActor.
  • nonisolated(unsafe): Hanya saat interop dengan code thread-safe yang tidak bisa membuktikan keamanannya ke Swift type system (NSCache, DispatchQueue-wrapped state, Objective-C singleton).
  • @preconcurrency: Saat mengadopsi Swift Concurrency secara bertahap di codebase besar — suppress warning di modul yang belum di-update.
  • Pemahaman re-entrancy: Wajib dipahami saat implementasi actor dengan operasi yang melibatkan multiple await dan mutable shared state.