Condividi tramite


SynchronousQueue Classe

Definizione

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 con criteri di accesso non fair.

SynchronousQueue(Boolean)

Crea un oggetto SynchronousQueue con i criteri di equità specificati.

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 Objectoggetto .

(Ereditato da Object)
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 hasNext restituisce falsesempre .

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 null.

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 Spliterator#trySplit() trySplit restituire nullsempre .

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.

Si applica a