SynchronousQueue Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Coda di blocco BlockingQueue in cui ogni operazione di inserimento deve attendere un'operazione di rimozione corrispondente da un altro thread e viceversa.
[Android.Runtime.Register("java/util/concurrent/SynchronousQueue", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "E" })]
public class SynchronousQueue : Java.Util.AbstractQueue, IDisposable, Java.Interop.IJavaPeerable, Java.IO.ISerializable, Java.Util.Concurrent.IBlockingQueue
[<Android.Runtime.Register("java/util/concurrent/SynchronousQueue", DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "E" })>]
type SynchronousQueue = class
inherit AbstractQueue
interface ISerializable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
interface IBlockingQueue
interface IQueue
interface ICollection
interface IIterable
- Ereditarietà
- Attributi
- Implementazioni
Commenti
Coda di blocco BlockingQueue in cui ogni operazione di inserimento deve attendere un'operazione di rimozione corrispondente da un altro thread e viceversa. Una coda sincrona non ha capacità interna, nemmeno una capacità di uno. Non è possibile peek
eseguire una coda sincrona perché un elemento è presente solo quando si tenta di rimuoverlo. Non è possibile inserire un elemento (utilizzando un metodo) a meno che un altro thread non stia tentando di rimuoverlo. Non è possibile eseguire l'iterazione perché non è necessario eseguire l'iterazione. L'em <head/em>> della coda è l'elemento che il primo thread di inserimento in coda sta tentando di aggiungere alla coda. Se non esiste un thread in coda di questo tipo, non è disponibile alcun elemento per la rimozione e poll()
restituirà null
.< Ai fini di altri Collection
metodi (ad esempio contains
), un funge SynchronousQueue
da raccolta vuota. Questa coda non consente null
elementi.
Le code sincrone sono simili ai canali di incontro usati in CSP e Ada. Sono ideali per le progettazioni handoff, in cui un oggetto in esecuzione in un thread deve essere sincronizzato con un oggetto in esecuzione in un altro thread per consegnare alcune informazioni, eventi o attività.
Questa classe supporta criteri di equità facoltativi per l'ordinamento dei thread producer e consumer in attesa. Per impostazione predefinita, questo ordinamento non è garantito. Tuttavia, una coda costruita con equità impostata per true
concedere l'accesso ai thread nell'ordine FIFO.
Questa classe e il relativo iteratore implementano tutti i <metodi em>facoltativi</em> delle Collection
interfacce e Iterator
.
Questa classe è un membro di Java Collections Framework.
Aggiunto nella versione 1.5.
Documentazione java per java.util.concurrent.SynchronousQueue
.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.
Costruttori
SynchronousQueue() |
Crea un oggetto |
SynchronousQueue(Boolean) |
Crea un oggetto |
SynchronousQueue(IntPtr, JniHandleOwnership) |
Costruttore usato durante la creazione di rappresentazioni gestite di oggetti JNI; chiamato dal runtime. |
Proprietà
Class |
Restituisce la classe di runtime di questo |
Handle |
Handle per l'istanza di Android sottostante. (Ereditato da Object) |
IsEmpty |
Da aggiungere (Ereditato da AbstractCollection) |
JniIdentityHashCode |
Coda di blocco BlockingQueue in cui ogni operazione di inserimento deve attendere un'operazione di rimozione corrispondente da un altro thread e viceversa. (Ereditato da Object) |
JniPeerMembers |
Coda di blocco BlockingQueue in cui ogni operazione di inserimento deve attendere un'operazione di rimozione corrispondente da un altro thread e viceversa. |
PeerReference |
Coda di blocco BlockingQueue in cui ogni operazione di inserimento deve attendere un'operazione di rimozione corrispondente da un altro thread e viceversa. (Ereditato da Object) |
ThresholdClass |
Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice. |
ThresholdType |
Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice. |
Metodi
Add(Object) |
Da aggiungere (Ereditato da AbstractCollection) |
AddAll(ICollection) |
Da aggiungere (Ereditato da AbstractCollection) |
Clear() |
Da aggiungere (Ereditato da AbstractCollection) |
Clone() |
Crea e restituisce una copia di questo oggetto. (Ereditato da Object) |
Contains(Object) |
Da aggiungere (Ereditato da AbstractCollection) |
ContainsAll(ICollection) |
Da aggiungere (Ereditato da AbstractCollection) |
Dispose() |
Coda di blocco BlockingQueue in cui ogni operazione di inserimento deve attendere un'operazione di rimozione corrispondente da un altro thread e viceversa. (Ereditato da Object) |
Dispose(Boolean) |
Coda di blocco BlockingQueue in cui ogni operazione di inserimento deve attendere un'operazione di rimozione corrispondente da un altro thread e viceversa. (Ereditato da Object) |
DrainTo(ICollection) |
Coda di blocco BlockingQueue in cui ogni operazione di inserimento deve attendere un'operazione di rimozione corrispondente da un altro thread e viceversa. |
DrainTo(ICollection, Int32) |
Coda di blocco BlockingQueue in cui ogni operazione di inserimento deve attendere un'operazione di rimozione corrispondente da un altro thread e viceversa. |
Element() |
Recupera, ma non rimuove, l'intestazione di questa coda. (Ereditato da AbstractQueue) |
Equals(Object) |
Indica se un altro oggetto è "uguale a" questo. (Ereditato da Object) |
GetHashCode() |
Restituisce un valore del codice hash per l'oggetto. (Ereditato da Object) |
Iterator() |
Restituisce un iteratore vuoto in cui |
JavaFinalize() |
Chiamato dal Garbage Collector su un oggetto quando Garbage Collection determina che non sono presenti altri riferimenti all'oggetto . (Ereditato da Object) |
Notify() |
Riattiva un singolo thread in attesa del monitor dell'oggetto. (Ereditato da Object) |
NotifyAll() |
Riattiva tutti i thread in attesa del monitor dell'oggetto. (Ereditato da Object) |
Offer(Object) |
Inserisce l'elemento specificato in questa coda, se un altro thread è in attesa di riceverlo. |
Offer(Object, Int64, TimeUnit) |
Inserisce l'elemento specificato in questa coda, in attesa, se necessario, del tempo di attesa specificato per la ricezione di un altro thread. |
Peek() |
Restituisce sempre |
Poll() |
Recupera e rimuove l'intestazione di questa coda, se un altro thread rende attualmente disponibile un elemento. |
Poll(Int64, TimeUnit) |
Recupera e rimuove l'intestazione di questa coda, in attesa, se necessario, fino al tempo di attesa specificato, per l'inserimento di un altro thread. |
Put(Object) |
Aggiunge l'elemento specificato a questa coda, in attesa, se necessario, di ricevere un altro thread. |
RemainingCapacity() |
Restituisce sempre zero. |
Remove() |
Recupera e rimuove l'intestazione della coda. (Ereditato da AbstractQueue) |
Remove(Object) |
Da aggiungere (Ereditato da AbstractCollection) |
RemoveAll(ICollection) |
Da aggiungere (Ereditato da AbstractCollection) |
RetainAll(ICollection) |
Da aggiungere (Ereditato da AbstractCollection) |
SetHandle(IntPtr, JniHandleOwnership) |
Imposta la proprietà Handle. (Ereditato da Object) |
Size() |
Restituisce sempre zero. |
Spliterator() |
Restituisce un spliterator vuoto in cui le chiamate per |
Take() |
Recupera e rimuove l'intestazione di questa coda, in attesa, se necessario, dell'inserimento di un altro thread. |
ToArray() |
Da aggiungere (Ereditato da AbstractCollection) |
ToArray(Object[]) |
Da aggiungere (Ereditato da AbstractCollection) |
ToArray<T>() |
Coda di blocco BlockingQueue in cui ogni operazione di inserimento deve attendere un'operazione di rimozione corrispondente da un altro thread e viceversa. (Ereditato da Object) |
ToString() |
Restituisce una rappresentazione di stringa dell'oggetto. (Ereditato da Object) |
UnregisterFromRuntime() |
Coda di blocco BlockingQueue in cui ogni operazione di inserimento deve attendere un'operazione di rimozione corrispondente da un altro thread e viceversa. (Ereditato da Object) |
Wait() |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo <>una notifica</em> o <em>interrotto</em>. (Ereditato da Object) |
Wait(Int64) |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo>< una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale. (Ereditato da Object) |
Wait(Int64, Int32) |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo>< una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale. (Ereditato da Object) |
Implementazioni dell'interfaccia esplicita
IJavaPeerable.Disposed() |
Coda di blocco BlockingQueue in cui ogni operazione di inserimento deve attendere un'operazione di rimozione corrispondente da un altro thread e viceversa. (Ereditato da Object) |
IJavaPeerable.DisposeUnlessReferenced() |
Coda di blocco BlockingQueue in cui ogni operazione di inserimento deve attendere un'operazione di rimozione corrispondente da un altro thread e viceversa. (Ereditato da Object) |
IJavaPeerable.Finalized() |
Coda di blocco BlockingQueue in cui ogni operazione di inserimento deve attendere un'operazione di rimozione corrispondente da un altro thread e viceversa. (Ereditato da Object) |
IJavaPeerable.JniManagedPeerState |
Coda di blocco BlockingQueue in cui ogni operazione di inserimento deve attendere un'operazione di rimozione corrispondente da un altro thread e viceversa. (Ereditato da Object) |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Coda di blocco BlockingQueue in cui ogni operazione di inserimento deve attendere un'operazione di rimozione corrispondente da un altro thread e viceversa. (Ereditato da Object) |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Coda di blocco BlockingQueue in cui ogni operazione di inserimento deve attendere un'operazione di rimozione corrispondente da un altro thread e viceversa. (Ereditato da Object) |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Coda di blocco BlockingQueue in cui ogni operazione di inserimento deve attendere un'operazione di rimozione corrispondente da un altro thread e viceversa. (Ereditato da Object) |
Metodi di estensione
JavaCast<TResult>(IJavaObject) |
Esegue una conversione del tipo di tipo controllato dal runtime Android. |
JavaCast<TResult>(IJavaObject) |
Coda di blocco BlockingQueue in cui ogni operazione di inserimento deve attendere un'operazione di rimozione corrispondente da un altro thread e viceversa. |
GetJniTypeName(IJavaPeerable) |
Coda di blocco BlockingQueue in cui ogni operazione di inserimento deve attendere un'operazione di rimozione corrispondente da un altro thread e viceversa. |
OfferAsync(IBlockingQueue, Object) |
Coda di blocco BlockingQueue in cui ogni operazione di inserimento deve attendere un'operazione di rimozione corrispondente da un altro thread e viceversa. |
OfferAsync(IBlockingQueue, Object, Int64, TimeUnit) |
Coda di blocco BlockingQueue in cui ogni operazione di inserimento deve attendere un'operazione di rimozione corrispondente da un altro thread e viceversa. |
PollAsync(IBlockingQueue, Int64, TimeUnit) |
Coda di blocco BlockingQueue in cui ogni operazione di inserimento deve attendere un'operazione di rimozione corrispondente da un altro thread e viceversa. |
PutAsync(IBlockingQueue, Object) |
Coda di blocco BlockingQueue in cui ogni operazione di inserimento deve attendere un'operazione di rimozione corrispondente da un altro thread e viceversa. |
TakeAsync(IBlockingQueue) |
Coda di blocco BlockingQueue in cui ogni operazione di inserimento deve attendere un'operazione di rimozione corrispondente da un altro thread e viceversa. |
ToEnumerable(IIterable) |
Coda di blocco BlockingQueue in cui ogni operazione di inserimento deve attendere un'operazione di rimozione corrispondente da un altro thread e viceversa. |
ToEnumerable<T>(IIterable) |
Coda di blocco BlockingQueue in cui ogni operazione di inserimento deve attendere un'operazione di rimozione corrispondente da un altro thread e viceversa. |