Membuat Isolate dan Mengirim Pesan
Berkomunikasi melalui SendPort dan ReceivePort
Membuat Isolate dan Mengirim Pesan adalah pelajaran Dart Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Dart Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Dart Academy mencakup 4 pelajaran total.
Menangani Secara Manual
Untuk worker yang berumur panjang dan sering berkomunikasi, buat isolat sendiri dengan Isolate.spawn. Anda tetap mengendalikan seluruh masa hidupnya.
Titik Masuk
Isolate.spawn memerlukan fungsi tingkat atas sebagai titik masuknya, serta satu argumen untuk dikirim saat mulai.
Isolate.spawn(worker, message);Kenali ReceivePort
ReceivePort adalah kotak surat Anda. Dengarkan port tersebut untuk menerima pesan yang dikirim isolat lain kepada Anda. 📥
final port = ReceivePort();
port.listen((msg) => print(msg));Kenali SendPort
Setiap ReceivePort menyediakan sebuah SendPort. Siapa pun yang memegang SendPort tersebut dapat memasukkan pesan ke kotak surat Anda.
final SendPort tx = port.sendPort;Menyerahkan port
Untuk mulai berkomunikasi, berikan sebuah SendPort kepada isolat baru sebagai argumen spawn-nya. Sekarang isolat tersebut tahu ke mana harus membalas.
Isolate.spawn(worker, port.sendPort);worker Membalas
Di dalam worker, gunakan SendPort yang Anda terima untuk send hasil kembali ke isolat utama.
void worker(SendPort tx) {
tx.send('done');
}Jabat Tangan
Pola yang umum adalah jabat tangan dua arah: worker terlebih dahulu mengirimkan SendPort miliknya, sehingga kedua sisi dapat saling mengirim pesan.
Hanya Data yang Dapat Dikirim
Pesan harus dapat dikirim: angka, teks, daftar, peta, dan SendPort. Hal-hal seperti berkas yang sedang terbuka atau fungsi tidak dapat melewati batas tersebut.
Membaca Balasan
Di sisi utama, fungsi panggilan balik listen milik ReceivePort Anda dijalankan untuk setiap balasan. Tangani balasan tersebut saat tiba, sesuai urutannya.
Menutup port
Setelah selesai, panggil port.close(). ReceivePort yang terbuka membuat program Anda tetap hidup, jadi menutupnya memungkinkan program berakhir dengan rapi.
Menghentikan Isolat
Simpan referensi Isolate, lalu panggil isolate.kill() untuk menghentikan worker yang tidak lagi Anda perlukan. Bebaskan sumber dayanya segera.
Cek Cepat
Di port mana Anda harus melakukan listen untuk menerima pesan?
Ringkasan
Buat isolat dengan Isolate.spawn, lalu berikan SendPort agar isolat dapat saling mengirim pesan. Kirim hanya data yang dapat dikirim, dan tutup port setelah selesai. ✅
Belajar Dart dengan tutor AI — gratis
Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.
- Kursus
- 30
- Pelajaran
- 120
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Membuat Isolate dan Mengirim Pesan” gratis?
Ya — teks lengkap “Membuat Isolate dan Mengirim Pesan” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Dart Academy, upgrade ke CoddyKit PRO. Kursus Dart Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Membuat Isolate dan Mengirim Pesan”?
Berkomunikasi melalui SendPort dan ReceivePort Kamu berlatih Dart Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Dart Academy?
Tidak diperlukan pengalaman sebelumnya. Dart Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.
Berapa lama pelajaran “Membuat Isolate dan Mengirim Pesan” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Dart Academy ini?
Ya. Setiap pelajaran Dart Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Mengapa Isolate, Bukan Thread
- Isolate.run untuk Pemindahan Pekerjaan Cepat
- Membuat Isolate dan Mengirim Pesan
- Tugas Berat Komputasi Tanpa Jank