Minggu, 21 Oktober 2012

Keyword async dan await

Selamat datang di postingan terbaru saya ini. :)

Kali ini saya akan membahas salah satu fitur baru dalam bahasa pemrograman C#, yaitu keyword async dan await. Fitur baru dalam C# 5.0 ini merupakan fitur yang dapat membantu pembuatan aplikasi yaitu dalam hal meningkatkan tingkat responsiveness atau ketanggapan aplikasi, dan menghindari bottleneck performance, atau kemacetan performa.

Penggunaan untuk async dan await  bagusnya hanya pada operasi-operasi yang membutuhkan waktu lama, contohnya adalah membuat suatu panggilan I/O. Tetapi apabila operasinya hanya sebentar, atau hanya memakan CPU cycle, maka bagusnya kita menjalankan operasi tersebut secara sinkronus.

Bagaimana cara menggunakannya? Carany sangat sederhana. Berikut penjelesannya.
  1. Letakkan keyword async pada method (fungsi), anonymous method, ekspresi lambda, atau bahkan pada control events (bisa dibilang fungsi-fungsi dari suatu kontrol, entah itu tombol, combo box, dll.) yang akan ada keyword await. Satu fungsi asinkronus bisa memiliki lebih dari satu keyword await.
  2. Semua fungsi yang memiliki keyword await, harus memiliki keyword async juga sebelum nama fungsinya.
  3. Microsoft menganjurkan nama dari fungsi, atau apa pun yang menggunakan keyword async await mengandung kata "Async". Contohnya nama fungsi originalnya GetFeeds, tetapi karena kita menggunakan keyword async await, kita dianjurkan untuk mengganti nama fungsinya menjadi GetFeedsAsync.
  4. Suatu fungsi async hanya bisa mengembalikan nilai void, Task, atau Task<T>.
Untuk contoh dari keyword async dan await saya usahakan ada pada postingan berikutnya.
Semoga bisa memberikan pencerahan lebih lanjut tentang fitur C# 5.0 yang keren ini. Kalau belum jelas juga, coba ke halaman msdn ini.