Section 14/171 menit

14. Kapan Harus Digunakan

14. Kapan Harus Digunakan

Actor (instance)

  • Per-resource state yang diakses banyak caller paralel: connection pool, in-memory cache, session manager.
  • Aggregator yang menerima event dari banyak producer: metrics collector, event bus.
  • Wrapper di sekitar API non-thread-safe yang ingin diekspos secara aman ke kode async.

@MainActor

  • Semua view model SwiftUI yang berinteraksi dengan view.
  • UIKit controller / view yang dipanggil dari Task async.
  • Coordinator / navigator yang dimutasi dari berbagai handler.
  • API yang selalu harus jalan di main thread (UIKit lifecycle, Core Animation).

Global Actor Kustom

  • Resource singleton yang lintas banyak class: database queue, log writer, hardware bus.
  • Domain yang butuh priority executor khusus (render, audio).

Sendable

  • Setiap value type yang berpotensi disilang antar isolation.
  • DTO dari/ke API, model domain immutable.
  • Configuration object yang dibaca di banyak isolation.

sending

  • API yang menerima non-Sendable yang baru dibuat dan akan diteruskan ke actor lain (builder, buffer, mutable struct besar).

isolated parameter

  • Helper function yang melakukan banyak akses sequential ke actor yang sama.
  • Operasi batch / bulk untuk menghindari hop berkali-kali.