Pemrograman Asinkron dengan Menggunakan Delegasi
Delegasi memungkinkan Anda untuk memanggil metode sinkron secara asinkron. Saat Anda memanggil delegasi secara sinkron, Invoke
metode memanggil metode target langsung pada utas saat ini. Jika BeginInvoke
metode dipanggil, runtime bahasa umum (CLR) mengantre permintaan dan segera kembali ke pemanggil. Metode target disebut secara asinkron pada utas dari kumpulan utas. Thread asli, yang mengajukan permintaan, bebas untuk terus mengeksekusi secara paralel dengan metode target. Jika metode panggilan balik telah ditentukan dalam panggilan ke BeginInvoke
metode, metode panggilan balik dipanggil ketika metode target berakhir. Dalam metode panggilan balik, EndInvoke
metode memperoleh nilai pengembalian dan parameter input/output atau output saja. Jika tidak ada metode panggilan balik yang ditentukan saat memanggil BeginInvoke
, EndInvoke
dapat dipanggil dari utas yang disebut BeginInvoke
.
Penting
Kompilator harus memancarkan kelas delegasi dengan metode Invoke
, BeginInvoke
, dan EndInvoke
menggunakan tanda tangan delegasi yang ditentukan oleh pengguna. Metode BeginInvoke
dan EndInvoke
harus dihiasi sebagai asli. Karena metode ini ditandai sebagai asli, CLR secara otomatis menyediakan implementasi pada waktu buka kelas. Loader memastikan bahwa mereka tidak ditimpa.
Di Bagian Ini
Memanggil Metode Sinkron Secara Asinkron
Membahas penggunaan delegasi untuk melakukan panggilan asinkron ke metode biasa, dan memberikan contoh kode sederhana yang menunjukkan empat cara untuk menunggu panggilan asinkron kembali.
Bagian Terkait
Pola Asinkron berbasis Peristiwa (EAP)
Menjelaskan pemrograman asinkron di .NET.
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk