Selector.Select 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.
Overload
| Select(IConsumer, Int64) |
Memilih dan melakukan tindakan pada kunci yang saluran terkaitnya siap untuk operasi I/O. |
| Select(Int64) |
Memilih sekumpulan kunci yang saluran terkaitnya siap untuk operasi I/O. |
| Select() |
Memilih sekumpulan kunci yang saluran terkaitnya siap untuk operasi I/O. |
| Select(IConsumer) |
Memilih dan melakukan tindakan pada kunci yang saluran terkaitnya siap untuk operasi I/O. |
Select(IConsumer, Int64)
Memilih dan melakukan tindakan pada kunci yang saluran terkaitnya siap untuk operasi I/O.
[Android.Runtime.Register("select", "(Ljava/util/function/Consumer;J)I", "GetSelect_Ljava_util_function_Consumer_JHandler", ApiSince=33)]
public virtual int Select(Java.Util.Functions.IConsumer? action, long timeout);
[<Android.Runtime.Register("select", "(Ljava/util/function/Consumer;J)I", "GetSelect_Ljava_util_function_Consumer_JHandler", ApiSince=33)>]
abstract member Select : Java.Util.Functions.IConsumer * int64 -> int
override this.Select : Java.Util.Functions.IConsumer * int64 -> int
Parameter
- action
- IConsumer
Tindakan yang akan dilakukan
- timeout
- Int64
Jika positif, blokir hingga timeout milidetik, kurang lebih, sambil menunggu saluran siap; jika nol, blokir tanpa batas waktu; tidak boleh negatif
Mengembalikan
Jumlah kunci unik yang dikonsumsi, mungkin nol
- Atribut
Keterangan
Memilih dan melakukan tindakan pada kunci yang saluran terkaitnya siap untuk operasi I/O.
Metode ini melakukan operasi pemblokiran pemilihan. Ini bangun dari mengkueri sistem operasi hanya ketika setidaknya satu saluran dipilih, metode pemilih #wakeup wakeup ini dipanggil, utas saat ini terganggu, atau periode batas waktu yang diberikan kedaluwarsa, mana yang lebih dulu.
Metode tindakanConsumer#accept(Object) accept yang ditentukan dipanggil dengan kunci untuk setiap saluran yang siap untuk melakukan operasi yang diidentifikasi oleh set minat kuncinya. Metode accept ini dapat dipanggil lebih dari sekali untuk kunci yang sama tetapi dengan set operasi siap yang berisi subset operasi yang salurannya siap (seperti yang dijelaskan di atas). Metode accept ini dipanggil saat disinkronkan pada pemilih dan set kunci yang dipilih. Perhatian besar harus dilakukan untuk menghindari kebuntuan dengan utas lain yang juga disinkronkan pada objek-objek ini. Operasi pemilihan tidak masuk kembali secara umum dan akibatnya tindakan harus berhati-hati untuk tidak mencoba operasi pemilihan pada pemilih yang sama. Perilaku saat mencoba operasi pemilihan reentrant adalah implementasi khusus dan oleh karena itu tidak ditentukan. Jika tindakan menutup pemilih, maka ClosedSelectorException akan dilemparkan saat tindakan selesai. Tindakan ini tidak dilarang menutup saluran yang terdaftar di pemilih, atau dilarang membatalkan kunci atau mengubah set minat kunci. Jika saluran dipilih tetapi kuncinya dibatalkan atau set minatnya berubah sebelum tindakan dilakukan pada kunci, maka implementasinya khusus untuk apakah tindakan dipanggil (mungkin dipanggil dengan SelectionKey#isValid() invalid kunci). Pengecualian yang dilemparkan oleh tindakan disampaikan kepada pemanggil.
Metode ini tidak menawarkan jaminan real time: Ini menjadwalkan batas waktu seolah-olah dengan memanggil Object#wait(long) metode .
Ditambahkan dalam 11.
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.
Berlaku untuk
Select(Int64)
Memilih sekumpulan kunci yang saluran terkaitnya siap untuk operasi I/O.
[Android.Runtime.Register("select", "(J)I", "GetSelect_JHandler")]
public abstract int Select(long timeout);
[<Android.Runtime.Register("select", "(J)I", "GetSelect_JHandler")>]
abstract member Select : int64 -> int
Parameter
- timeout
- Int64
Jika positif, blokir hingga timeout milidetik, kurang lebih, sambil menunggu saluran siap; jika nol, blokir tanpa batas waktu; tidak boleh negatif
Mengembalikan
Jumlah kunci, mungkin nol, yang set siap operasinya diperbarui
- Atribut
Pengecualian
jika pemilih ditutup.
jika argumen batas waktu yang diberikan kurang dari nol.
jika terjadi kesalahan I/O.
Keterangan
Memilih sekumpulan kunci yang saluran terkaitnya siap untuk operasi I/O.
Metode ini melakukan operasi pemblokiran pemilihan. Ini mengembalikan hanya setelah setidaknya satu saluran dipilih, metode pemilih #wakeup wakeup ini dipanggil, utas saat ini terganggu, atau periode batas waktu yang diberikan kedaluwarsa, mana yang lebih dulu.
Metode ini tidak menawarkan jaminan real time: Ini menjadwalkan batas waktu seolah-olah dengan memanggil Object#wait(long) metode .
Dokumentasi Java untuk java.nio.channels.Selector.select(long).
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.
Berlaku untuk
Select()
Memilih sekumpulan kunci yang saluran terkaitnya siap untuk operasi I/O.
[Android.Runtime.Register("select", "()I", "GetSelectHandler")]
public abstract int Select();
[<Android.Runtime.Register("select", "()I", "GetSelectHandler")>]
abstract member Select : unit -> int
Mengembalikan
Jumlah kunci, mungkin nol, yang set siap operasinya diperbarui
- Atribut
Pengecualian
jika terjadi kesalahan I/O.
jika pemilih ditutup.
Keterangan
Memilih sekumpulan kunci yang saluran terkaitnya siap untuk operasi I/O.
Metode ini melakukan operasi pemblokiran pemilihan. Ini hanya mengembalikan setelah setidaknya satu saluran dipilih, metode pemilih #wakeup wakeup ini dipanggil, atau utas saat ini terganggu, mana yang lebih dulu.
Dokumentasi Java untuk java.nio.channels.Selector.select().
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.
Berlaku untuk
Select(IConsumer)
Memilih dan melakukan tindakan pada kunci yang saluran terkaitnya siap untuk operasi I/O.
[Android.Runtime.Register("select", "(Ljava/util/function/Consumer;)I", "GetSelect_Ljava_util_function_Consumer_Handler", ApiSince=33)]
public virtual int Select(Java.Util.Functions.IConsumer? action);
[<Android.Runtime.Register("select", "(Ljava/util/function/Consumer;)I", "GetSelect_Ljava_util_function_Consumer_Handler", ApiSince=33)>]
abstract member Select : Java.Util.Functions.IConsumer -> int
override this.Select : Java.Util.Functions.IConsumer -> int
Parameter
- action
- IConsumer
Tindakan yang akan dilakukan
Mengembalikan
Jumlah kunci unik yang dikonsumsi, mungkin nol
- Atribut
Keterangan
Memilih dan melakukan tindakan pada kunci yang saluran terkaitnya siap untuk operasi I/O.
Metode ini melakukan operasi pemblokiran pemilihan. Ini bangun dari mengkueri sistem operasi hanya ketika setidaknya satu saluran dipilih, metode pemilih #wakeup wakeup ini dipanggil, atau utas saat ini terganggu, mana yang lebih dulu.
Metode ini setara dengan memanggil metode 2-arg #select(Consumer, long) select dengan batas waktu 0 untuk memblokir tanpa batas waktu.
Ditambahkan dalam 11.
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.