Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Delegasi memungkinkan Anda memanggil metode sinkron dengan cara asinkron. Ketika Anda memanggil delegat secara sinkron, metode Invoke memanggil langsung metode target pada utas saat ini. Jika BeginInvoke metode dipanggil, Common Language Runtime (CLR) memasukkan permintaan ke dalam antrian dan segera kembali ke pemanggil. Metode target dipanggil dengan cara asinkron pada salah satu utas dari kumpulan utas. Thread asli, yang mengirimkan 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 callback, EndInvoke mendapatkan nilai pengembalian dan parameter input/output atau hanya output apa pun. Jika tidak ada metode panggilan balik yang ditentukan saat memanggil BeginInvoke, EndInvoke dapat dipanggil dari utas yang memanggil BeginInvoke.
Penting
Kompilator harus menghasilkan kelas delegasi dengan metode Invoke, BeginInvoke, dan EndInvoke menggunakan tanda tangan delegasi yang ditentukan oleh pengguna. Metode BeginInvoke dan EndInvoke harus ditandai sebagai native. Karena metode ini ditandai sebagai asli, CLR secara otomatis menyediakan implementasi pada waktu pemuatan kelas. Pemuat memastikan bahwa mereka tidak ditimpa.
Pada 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.