Bagikan melalui


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.

Pola Asinkron berbasis Peristiwa (EAP)
Menjelaskan pemrograman asinkron di .NET.

Lihat juga