perbandingan dengan Invoke()
BeginInvoke()
Perbezaan teras antara dan
Pelaksanaan Synchronous bermakna ia akan menunggu keseluruhan operasi selesai sebelum meneruskan baris seterusnya. Pelaksanaan Asynchronous membolehkan program untuk meneruskan pelaksanaan ketika beroperasi di latar belakang. Invoke()
3
BeginInvoke()
dan Invoke()
digunakan untuk melaksanakan contoh komisen. BeginInvoke()
Pelaksanaan serentak pada benang semasa, dan
3
dan Delegate.Invoke()
ia digunakan untuk melakukan operasi pada elemen UI. Delegate.BeginInvoke()
secara serentak melaksanakan pada benang UI, menyekat benang panggilan sehingga operasi selesai. Pelaksanaan asynchronous pada benang UI, yang membolehkan benang panggilan untuk meneruskan pelaksanaan ketika beroperasi di latar belakang.
objek benang dan Delegate.Invoke()
Delegate.BeginInvoke()
Delegate.Invoke()
Delegate.BeginInvoke()
Buat objek thread dan panggil
dalam komisen. Kedua -dua kaedah akan dibuat pelaksanaan tak segerak, yang membolehkan program utama meneruskan pelaksanaan ketika beroperasi di latar belakang pada benang yang berasingan.
Control.Invoke()
Bila hendak menggunakan Control.BeginInvoke()
Apabila anda perlu melakukan operasi latar belakang tanpa menyekat benang panggilan, Control.Invoke()
adalah pilihan yang ideal. Sebagai contoh, ia boleh digunakan untuk mengemas kini unsur -unsur UI tanpa aplikasi beku, atau melakukan operasi yang memakan masa tanpa menjejaskan pengalaman pengguna. Control.BeginInvoke()
Atas ialah kandungan terperinci Invoke () vs BeginInvoke (): Bilakah anda harus menggunakan pelaksanaan asynchronous?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!