Oke, thanks atas infonya, sebenarnya dah nyoba sih di application console dan 
mau jalan disana, tapi pas dicoba di form yang gak mau! Dulu pernah baca, kalau 
di UI kaya Form beda implementasinya biar bisa dijalankan sebagaimana mestinya, 
itu yang belum berhasil.

Lakukan hal yang lain maksudnya misalnya menampilkan tulisan di texbox yang 
lain selain textbox buat menampilkan perhitungan huruf vokal.


________________________________
Dari: Susila IP <[email protected]>
Kepada: [email protected]
Dikirim: Rabu, 20 Juli 2011 12:39
Judul: Re: [Mugi] Nanya tentang Asynchronous di C#

Bisa di posting apa isi dari:
"//Lakukan hal lain tanpa terpengaruh Proses diatas" ?

Jika dari class/UI/form lain anda hanya memanggil
AsyncHitungVokal(), ngga akan ngefek, karena pooling pada loop
while (!iar.IsCompleted) {...} akan menghabiskan
waktu CPU anda selama "menghitung vokal" belum selesai.
Sebagai contoh, coba ditambahkan System.Threading.Sleep(1)
atau kalau GUI app, Application.DoEvents() didalam loop tersebut.
Ini akan memberi kesempatan pada applikasi untuk mengerjakan
hal lain pada timeslot tsb.

Kalau ingin memaksimalkan async method, coba pakai callback
yang akan dieksekusi apabila async method selesai mengerjakan
tugasnya. Jadi anda ngga perlu pooling. Contohnya ada di:
http://msdn.microsoft.com/en-us/library/2e08f6yc.aspx
Selain itu coba perdalam konsep Threading di C#, karena ini
sangat erat kaitannya dengan multithreading.
Mungkin bisa lihat2: http://www.albahari.com/threading/

salam,
putu

2011/7/20 Yakin Zure <[email protected]>:
> Mau nanya nih, apa sih keuntungan menggunakan Asynchronous Method ketimbang
> yang gak make? dan Bagaimana caranya misalnya kita memproses sesuatu yang
> lama prosesnya, misalnya menghitung huruf konsonan pada sebuah kalimat yang
> panjang, trus bisa tidak disaat proses menghitung tersebut kita jalankan
> proses yg lain tanpa terbebani oleh proses perhitungan huruf konsonan tsb?
> saya dah nyoba pake Async tapi kok gak ngefek ya?
> Misalnya codingnya seperti ini :
> ======================================================
> delegate int AsyncProsesHitung();
> public int AsyncHitungVokal()
> {
>             AsyncProsesHitung AsyncVokal = new
> AsyncProsesHitung(HitungVokal);
>             IAsyncResult iar = AsyncVokal.BeginInvoke(null, null);
>
>             while (!iar.IsCompleted)
>             {
>                    //Lakukan hal lain tanpa terpengaruh Proses diatas
>             }
>             int Hasil = AsyncVokal.EndInvoke(iar);
>             return Hasil;
> }
>
> public int HitungVokal()
> {
>             int  jmlVokal = 0;
>
>             for (int i = 1; i <= this.Content.Characters.Count; i++)
>             {
>                 if (this.Content.Characters[i].Text.ToLower() == "a" ||
>                     this.Content.Characters[i].Text.ToLower() == "i" ||
>                     this.Content.Characters[i].Text.ToLower() == "u" ||
>                     this.Content.Characters[i].Text.ToLower() == "e" ||
>                     this.Content.Characters[i].Text.ToLower() == "o")
>                 {
>                     jmlVokal++;
>                 }
>             }
>             return jmlVokal;
> }
> =============================================
>
>
>
>
>
> _______________________________________________
> To unsubscribe from this group, send an email to:
> [email protected]
> Get Free 5 GB mailbox Check this http://www.mugi.or.id
>
> Powered by bisnismedia.com
>
_______________________________________________
To unsubscribe from this group, send an email to:
[email protected]
Get Free 5 GB mailbox Check this http://www.mugi.or.id

Powered by bisnismedia.com
_______________________________________________
To unsubscribe from this group, send an email to:
[email protected]
Get Free 5 GB mailbox Check this http://www.mugi.or.id

Powered by bisnismedia.com

Kirim email ke