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.
.NET menyediakan tiga pola untuk melakukan operasi asinkron:
Pola Asinkron Berbasis Tugas (TAP), yang menggunakan satu metode untuk mewakili inisiasi dan penyelesaian operasi asinkron. TAP diperkenalkan dalam .NET Framework 4. Ini adalah pendekatan yang direkomendasikan untuk pemrograman asinkron di .NET. Asinkron dan menunggu kata kunci di C# dan operator Asinkron dan Tunggu di Visual Basic menambahkan dukungan bahasa untuk TAP. Untuk informasi selengkapnya, lihat Pola Asinkron berbasis tugas (TAP).
Pola Asinkron Berbasis Peristiwa (EAP), yang merupakan model warisan berbasis peristiwa untuk memberikan perilaku asinkron. Ini memerlukan metode yang memiliki akhiran
Asyncdan satu atau beberapa acara, jenis delegasi penanganan acara, dan jenis turunanEventArg. EAP diperkenalkan dalam .NET Framework 2.0. Ini tidak lagi direkomendasikan untuk pengembangan baru. Untuk informasi selengkapnya, lihat Pola Asinkron Berbasis Peristiwa (EAP).Pola Model Pemrograman Asinkron (APM) ( juga disebut IAsyncResult pola), yang merupakan model warisan yang menggunakan IAsyncResult antarmuka untuk memberikan perilaku asinkron. Dalam pola ini, operasi asinkron memerlukan
Beginmetode danEnd(misalnya,BeginWritedanEndWriteuntuk menerapkan operasi penulisan asinkron). Pola ini tidak lagi direkomendasikan untuk pengembangan baru. Untuk informasi selengkapnya, lihat Model Pemrograman Asinkron (APM).
Perbandingan pola
Untuk perbandingan cepat tentang bagaimana tiga pola memodelkan operasi asinkron, pertimbangkan Read metode yang membaca jumlah data tertentu ke dalam buffer yang disediakan mulai dari offset tertentu:
public class MyClass
{
public int Read(byte [] buffer, int offset, int count);
}
Padanan TAP dari metode ini akan mengekspos metode tunggal ReadAsync berikut:
public class MyClass
{
public Task<int> ReadAsync(byte [] buffer, int offset, int count);
}
Mitra EAP akan mengekspos sekumpulan jenis dan anggota berikut:
public class MyClass
{
public void ReadAsync(byte [] buffer, int offset, int count);
public event ReadCompletedEventHandler ReadCompleted;
}
Rekan APM akan mengekspos metode BeginRead dan EndRead.
public class MyClass
{
public IAsyncResult BeginRead(
byte [] buffer, int offset, int count,
AsyncCallback callback, object state);
public int EndRead(IAsyncResult asyncResult);
}