Rumah Pembangunan Apakah kaedah panggilan asynchronous? - definisi dari techopedia

Apakah kaedah panggilan asynchronous? - definisi dari techopedia

Isi kandungan:

Anonim

Takrif - Apakah maksud Cara Panggilan Asynchronous?

Panggilan kaedah asynchronous adalah kaedah yang digunakan dalam pengaturcaraan .NET yang kembali kepada pemanggil segera sebelum selesai pemprosesannya dan tanpa menyekat thread panggilan.


Apabila aplikasi memanggil kaedah asynchronous, ia boleh dilaksanakan secara serentak bersamaan dengan pelaksanaan kaedah asynchronous yang melakukan tugasnya. Kaedah tak segerak berjalan dalam benang berasingan dari benang permohonan utama. Hasil pemprosesan diambil melalui panggilan lain pada benang lain.


Kaedah tak segerak membantu mengoptimumkan pelaksanaan sumber yang menghasilkan aplikasi berskala. Ini digunakan untuk melaksanakan tugas yang memakan masa seperti membuka fail besar, menyambung ke komputer jauh, menanyakan pangkalan data, memanggil perkhidmatan Web dan bentuk Web ASP.NET.


Panggilan kaedah tak segerak juga boleh dirujuk sebagai penyerakan kaedah asynchronous (AMI).

Techopedia menerangkan Panggilan Kaedah Asynchronous

Kaedah tak segerak berbeza dari kaedah segerak dengan cara ia kembali dari panggilan. Walaupun kaedah panggilan asynchronous kembali dengan segera, membenarkan program panggilan untuk melaksanakan operasi lain, kaedah segerak memerlukan menunggu kaedah untuk diselesaikan sebelum meneruskan aliran program.


Rangka kerja NET ini telah membangunkan infrastruktur tak segerak supaya sebarang kaedah boleh dipanggil secara serentak tanpa mengubah kodnya.


Rangka kerja NET menyediakan dua pola reka bentuk untuk melaksanakan kaedah asynchronous, yang menggunakan perwakilan tak segerak (objek IASyncResult) dan peristiwa. Corak perwakilan tak segerak lebih kompleks dan memberikan kelenturan, yang menjadikannya sesuai untuk pelbagai model pengaturcaraan kompleks. Model berasaskan acara adalah mudah dan harus digunakan dalam kebanyakan kes.


Dalam pola perwakilan tak segerak, objek perwakilan menggunakan dua kaedah: BeginInvoke dan EndInvoke. BeginInvoke mempunyai senarai parameter, yang sama dengan fungsi dibungkusnya, bersama dengan dua parameter pilihan tambahan; ia mengembalikan objek IAsyncResult. EndInvoke mengembalikan dua parameter (keluar dan ref jenis) bersamaan dengan objek IAsyncResult. BeginInvoke digunakan untuk memulakan panggilan tak segerak, sedangkan EndInvoke digunakan untuk mendapatkan hasil panggilan asynchronous.


Corak asynchronous berasaskan peristiwa menggunakan kelas yang mempunyai satu atau lebih kaedah, bernama MethodNameAsync, yang mempunyai versi segerak yang bersesuaian yang dilaksanakan pada benang semasa. Corak berasaskan acara juga mungkin mempunyai kaedah MethodNameCompleted dan kaedah MethodNameAsyncCancel. Corak ini membolehkan kelas untuk berkomunikasi dengan operasi tak segerak yang belum selesai menggunakan model acara perwakilan.


Berikut adalah beberapa petua yang berkaitan dengan kaedah asynchronous:

  • Untuk kesimpulan yang tinggi, kaedah asynchronous perlu dielakkan
  • Penjagaan perlu diambil semasa menyampaikan rujukan objek bersama
  • EndXXX (dipanggil pada akhir operasi tak segerak) harus dipanggil untuk pengecualian semula dan mengelakkan kegagalan
  • Dengan menangkap dan menyimpan semua objek pengecualian dalam kaedah asynchronous, ia boleh dibangkitkan semula semasa panggilan EndXXX
  • Kawalan dalam antara muka pengguna yang memulakan operasi tak segerak yang panjang perlu dilumpuhkan sekiranya ia hanya diperlukan untuk tujuan itu
  • Kaedah tak segerak perlu dilaksanakan dengan pemahaman multithreading dan di mana mereka terbukti lebih berkesan daripada menggunakan kaedah segerak.
Apakah kaedah panggilan asynchronous? - definisi dari techopedia