Phaser.OnAdvance(Int32, Int32) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Metode yang dapat diambil alih untuk melakukan tindakan setelah fase maju yang akan datang, dan untuk mengontrol penghentian.
[Android.Runtime.Register("onAdvance", "(II)Z", "GetOnAdvance_IIHandler")]
protected virtual bool OnAdvance(int phase, int registeredParties);
[<Android.Runtime.Register("onAdvance", "(II)Z", "GetOnAdvance_IIHandler")>]
abstract member OnAdvance : int * int -> bool
override this.OnAdvance : int * int -> bool
Parameter
- phase
- Int32
nomor fase saat ini pada entri ke metode ini, sebelum phaser ini dimajukan
- registeredParties
- Int32
jumlah pihak terdaftar saat ini
Mengembalikan
true jika phaser ini harus dihentikan
- Atribut
Keterangan
Metode yang dapat diambil alih untuk melakukan tindakan setelah fase maju yang akan datang, dan untuk mengontrol penghentian. Metode ini dipanggil pada saat kedatangan pihak yang maju dari phaser ini (ketika semua pihak menunggu lainnya tidak aktif). Jika metode ini mengembalikan true, phaser ini akan diatur ke status penghentian akhir setelah sebelumnya, dan panggilan berikutnya untuk #isTerminated akan mengembalikan true. Setiap Pengecualian (tidak dicentang) atau Kesalahan yang dilemparkan oleh pemanggilan metode ini disebarkan kepada pihak yang mencoba untuk memajukan phaser ini, dalam hal ini tidak ada kemajuan yang terjadi.
Argumen untuk metode ini menyediakan status phaser yang berlaku untuk transisi saat ini. Efek memanggil metode kedatangan, pendaftaran, dan menunggu pada phaser ini dari dalam onAdvance tidak ditentukan dan tidak boleh diandalkan.
Jika phaser ini adalah anggota dari sekumpulan phaser berjenjang, maka onAdvance hanya dipanggil untuk phaser akarnya pada setiap kemajuan.
Untuk mendukung kasus penggunaan yang paling umum, implementasi default metode ini mengembalikan true ketika jumlah pihak terdaftar telah menjadi nol sebagai hasil dari pihak yang memanggil arriveAndDeregister. Anda dapat menonaktifkan perilaku ini, sehingga memungkinkan kelanjutan pada pendaftaran mendatang, dengan mengambil alih metode ini untuk selalu mengembalikan false:
{@code
Phaser phaser = new Phaser() {
protected boolean onAdvance(int phase, int parties) { return false; }
};}
Dokumentasi Java untuk java.util.concurrent.Phaser.onAdvance(int, int).
Bagian halaman ini adalah modifikasi berdasarkan pekerjaan yang dibuat dan dibagikan oleh Proyek Sumber Terbuka Android dan digunakan sesuai dengan istilah yang dijelaskan dalam Lisensi Atribusi Creative Commons 2.5.