Section 14/161 menit

14. Kapan Tidak Digunakan

14. Kapan Tidak Digunakan

  • nonisolated(unsafe) sebagai escape hatch: Jangan gunakan untuk menyembunyikan masalah desain. Jika data race ada, nonisolated(unsafe) tidak menghilangkannya — hanya menyembunyikan warning.
  • Custom global actor untuk setiap class: Terlalu banyak isolation domain membuat kode sulit dipahami. Pertimbangkan apakah actor biasa atau @MainActor sudah cukup.
  • Nested global actors: Menghindari deadlock antara custom global actors memerlukan disiplin tinggi. Lebih baik redesign ke arsitektur yang lebih flat.
  • Region-based isolation untuk bypass Sendable: Region analysis membuktikan keamanan — jangan coba "trick" compiler. Jika compiler menolak, ada alasan yang valid.
  • @preconcurrency permanen: Ini solusi sementara untuk migrasi. Target jangka panjang adalah menghapus semua @preconcurrency dan memiliki codebase yang fully concurrent-safe.