다음을 통해 공유


SynchronousQueue 클래스

정의

각 삽입 작업이 다른 스레드에 의한 해당 제거 작업을 기다려야 하고 그 반대의 경우도 마찬가지인 BlockingQueue 차단 큐입니다.

[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
상속
특성
구현

설명

각 삽입 작업이 다른 스레드에 의한 해당 제거 작업을 기다려야 하고 그 반대의 경우도 마찬가지인 BlockingQueue 차단 큐입니다. 동기 큐에는 내부 용량이 없으며 하나의 용량도 없습니다. 요소를 제거하려고 할 때만 존재하므로 동기 큐에서 사용할 수 없습니다 peek . 다른 스레드가 제거하려고 하지 않는 한 요소를 삽입할 수 없습니다. 반복할 항목이 없으므로 반복할 수 없습니다. <큐의 em>헤드</em>은 큐에 추가하려는 첫 번째 큐 삽입 스레드의 요소입니다. 큐에 대기 중인 스레드가 없으면 제거 poll() 에 사용할 수 있는 요소가 없고 반환null됩니다. 다른 Collection 메서드(예: contains) SynchronousQueue 를 위해 빈 컬렉션으로 작동합니다. 이 큐는 요소를 허용하지 null 않습니다.

동기 큐는 CSP 및 Ada에서 사용되는 랑데부 채널과 유사합니다. 한 스레드에서 실행되는 개체가 정보, 이벤트 또는 작업을 전달하기 위해 다른 스레드에서 실행되는 개체와 동기화되어야 하는 핸드오프 디자인에 적합합니다.

이 클래스는 대기 중인 생산자 및 소비자 스레드를 주문하기 위한 선택적 공정성 정책을 지원합니다. 기본적으로 이 순서는 보장되지 않습니다. 그러나 FIFO 순서로 스레드 액세스 권한을 부여하도록 true 공정성이 설정된 큐가 생성됩니다.

이 클래스와 해당 반복기는 및 인터페이스의 <모든 em>선택적</em> 메서드를 Collection 구현 Iterator 합니다.

이 클래스는 Java Collections Framework 멤버입니다.

1.5에 추가되었습니다.

에 대한 java.util.concurrent.SynchronousQueueJava 설명서

이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.

생성자

SynchronousQueue()

비계층 액세스 정책을 사용하여 SynchronousQueue 만듭니다.

SynchronousQueue(Boolean)

지정된 공정성 정책을 사용하여 a SynchronousQueue 를 만듭니다.

SynchronousQueue(IntPtr, JniHandleOwnership)

JNI 개체의 관리되는 표현을 만들 때 사용되는 생성자입니다. 런타임에서 호출합니다.

속성

Class

Object런타임 클래스를 반환합니다.

(다음에서 상속됨 Object)
Handle

기본 Android 인스턴스에 대한 핸들입니다.

(다음에서 상속됨 Object)
IsEmpty

추가할 수 있습니다.

(다음에서 상속됨 AbstractCollection)
JniIdentityHashCode

각 삽입 작업이 다른 스레드에 의한 해당 제거 작업을 기다려야 하고 그 반대의 경우도 마찬가지인 BlockingQueue 차단 큐입니다.

(다음에서 상속됨 Object)
JniPeerMembers

각 삽입 작업이 다른 스레드에 의한 해당 제거 작업을 기다려야 하고 그 반대의 경우도 마찬가지인 BlockingQueue 차단 큐입니다.

PeerReference

각 삽입 작업이 다른 스레드에 의한 해당 제거 작업을 기다려야 하고 그 반대의 경우도 마찬가지인 BlockingQueue 차단 큐입니다.

(다음에서 상속됨 Object)
ThresholdClass

이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다.

ThresholdType

이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다.

메서드

Add(Object)

추가할 수 있습니다.

(다음에서 상속됨 AbstractCollection)
AddAll(ICollection)

추가할 수 있습니다.

(다음에서 상속됨 AbstractCollection)
Clear()

추가할 수 있습니다.

(다음에서 상속됨 AbstractCollection)
Clone()

이 개체의 복사본을 만들고 반환합니다.

(다음에서 상속됨 Object)
Contains(Object)

추가할 수 있습니다.

(다음에서 상속됨 AbstractCollection)
ContainsAll(ICollection)

추가할 수 있습니다.

(다음에서 상속됨 AbstractCollection)
Dispose()

각 삽입 작업이 다른 스레드에 의한 해당 제거 작업을 기다려야 하고 그 반대의 경우도 마찬가지인 BlockingQueue 차단 큐입니다.

(다음에서 상속됨 Object)
Dispose(Boolean)

각 삽입 작업이 다른 스레드에 의한 해당 제거 작업을 기다려야 하고 그 반대의 경우도 마찬가지인 BlockingQueue 차단 큐입니다.

(다음에서 상속됨 Object)
DrainTo(ICollection)

각 삽입 작업이 다른 스레드에 의한 해당 제거 작업을 기다려야 하고 그 반대의 경우도 마찬가지인 BlockingQueue 차단 큐입니다.

DrainTo(ICollection, Int32)

각 삽입 작업이 다른 스레드에 의한 해당 제거 작업을 기다려야 하고 그 반대의 경우도 마찬가지인 BlockingQueue 차단 큐입니다.

Element()

이 큐의 헤드를 검색하지만 제거하지는 않습니다.

(다음에서 상속됨 AbstractQueue)
Equals(Object)

다른 개체가 이 개체와 "같음"인지 여부를 나타냅니다.

(다음에서 상속됨 Object)
GetHashCode()

개체에 대한 해시 코드 값을 반환합니다.

(다음에서 상속됨 Object)
Iterator()

항상 반환되는 hasNext 빈 반복기를 반환합니다 false.

JavaFinalize()

가비지 수집에서 개체에 대한 참조가 더 이상 없다고 판단할 때 개체의 가비지 수집기에서 호출됩니다.

(다음에서 상속됨 Object)
Notify()

이 개체의 모니터에서 대기 중인 단일 스레드를 해제합니다.

(다음에서 상속됨 Object)
NotifyAll()

이 개체의 모니터에서 대기 중인 모든 스레드를 해제합니다.

(다음에서 상속됨 Object)
Offer(Object)

다른 스레드가 수신 대기 중인 경우 지정된 요소를 이 큐에 삽입합니다.

Offer(Object, Int64, TimeUnit)

지정된 요소를 이 큐에 삽입하여 필요한 경우 다른 스레드가 수신할 때까지 지정된 대기 시간까지 기다립니다.

Peek()

항상 null를 반환합니다.

Poll()

다른 스레드가 현재 요소를 사용할 수 있도록 하는 경우 이 큐의 헤드를 검색하고 제거합니다.

Poll(Int64, TimeUnit)

이 큐의 헤드를 검색하고 제거하여 필요한 경우 지정된 대기 시간까지 다른 스레드가 삽입할 때까지 기다립니다.

Put(Object)

이 큐에 지정된 요소를 추가하여 필요한 경우 다른 스레드가 해당 요소를 수신할 때까지 기다립니다.

RemainingCapacity()

항상 0을 반환합니다.

Remove()

이 큐의 헤드를 검색하고 제거합니다.

(다음에서 상속됨 AbstractQueue)
Remove(Object)

추가할 수 있습니다.

(다음에서 상속됨 AbstractCollection)
RemoveAll(ICollection)

추가할 수 있습니다.

(다음에서 상속됨 AbstractCollection)
RetainAll(ICollection)

추가할 수 있습니다.

(다음에서 상속됨 AbstractCollection)
SetHandle(IntPtr, JniHandleOwnership)

Handle 속성을 설정합니다.

(다음에서 상속됨 Object)
Size()

항상 0을 반환합니다.

Spliterator()

항상 반환을 Spliterator#trySplit() trySplit 호출하는 빈 분할기를 반환 null합니다.

Take()

이 큐의 헤드를 검색하고 제거하여 필요한 경우 다른 스레드가 삽입할 때까지 기다립니다.

ToArray()

추가할 수 있습니다.

(다음에서 상속됨 AbstractCollection)
ToArray(Object[])

추가할 수 있습니다.

(다음에서 상속됨 AbstractCollection)
ToArray<T>()

각 삽입 작업이 다른 스레드에 의한 해당 제거 작업을 기다려야 하고 그 반대의 경우도 마찬가지인 BlockingQueue 차단 큐입니다.

(다음에서 상속됨 Object)
ToString()

개체의 문자열 표현을 반환합니다.

(다음에서 상속됨 Object)
UnregisterFromRuntime()

각 삽입 작업이 다른 스레드에 의한 해당 제거 작업을 기다려야 하고 그 반대의 경우도 마찬가지인 BlockingQueue 차단 큐입니다.

(다음에서 상속됨 Object)
Wait()

현재 스레드가 각성될 때까지 대기하게 하며, 일반적으로 <알림을 받<>거나 <><중단/종료>합니다.>

(다음에서 상속됨 Object)
Wait(Int64)

현재 스레드가 각성될 때까지 대기하게 하며, 일반적으로 <>알림을 받<거나 <중단/>종료><>하거나 일정량의 실시간 경과가 발생할 때까지 대기합니다.

(다음에서 상속됨 Object)
Wait(Int64, Int32)

현재 스레드가 각성될 때까지 대기하게 하며, 일반적으로 <>알림을 받<거나 <중단/>종료><>하거나 일정량의 실시간 경과가 발생할 때까지 대기합니다.

(다음에서 상속됨 Object)

명시적 인터페이스 구현

IJavaPeerable.Disposed()

각 삽입 작업이 다른 스레드에 의한 해당 제거 작업을 기다려야 하고 그 반대의 경우도 마찬가지인 BlockingQueue 차단 큐입니다.

(다음에서 상속됨 Object)
IJavaPeerable.DisposeUnlessReferenced()

각 삽입 작업이 다른 스레드에 의한 해당 제거 작업을 기다려야 하고 그 반대의 경우도 마찬가지인 BlockingQueue 차단 큐입니다.

(다음에서 상속됨 Object)
IJavaPeerable.Finalized()

각 삽입 작업이 다른 스레드에 의한 해당 제거 작업을 기다려야 하고 그 반대의 경우도 마찬가지인 BlockingQueue 차단 큐입니다.

(다음에서 상속됨 Object)
IJavaPeerable.JniManagedPeerState

각 삽입 작업이 다른 스레드에 의한 해당 제거 작업을 기다려야 하고 그 반대의 경우도 마찬가지인 BlockingQueue 차단 큐입니다.

(다음에서 상속됨 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

각 삽입 작업이 다른 스레드에 의한 해당 제거 작업을 기다려야 하고 그 반대의 경우도 마찬가지인 BlockingQueue 차단 큐입니다.

(다음에서 상속됨 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

각 삽입 작업이 다른 스레드에 의한 해당 제거 작업을 기다려야 하고 그 반대의 경우도 마찬가지인 BlockingQueue 차단 큐입니다.

(다음에서 상속됨 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

각 삽입 작업이 다른 스레드에 의한 해당 제거 작업을 기다려야 하고 그 반대의 경우도 마찬가지인 BlockingQueue 차단 큐입니다.

(다음에서 상속됨 Object)

확장 메서드

JavaCast<TResult>(IJavaObject)

Android 런타임 확인 형식 변환을 수행합니다.

JavaCast<TResult>(IJavaObject)

각 삽입 작업이 다른 스레드에 의한 해당 제거 작업을 기다려야 하고 그 반대의 경우도 마찬가지인 BlockingQueue 차단 큐입니다.

GetJniTypeName(IJavaPeerable)

각 삽입 작업이 다른 스레드에 의한 해당 제거 작업을 기다려야 하고 그 반대의 경우도 마찬가지인 BlockingQueue 차단 큐입니다.

OfferAsync(IBlockingQueue, Object)

각 삽입 작업이 다른 스레드에 의한 해당 제거 작업을 기다려야 하고 그 반대의 경우도 마찬가지인 BlockingQueue 차단 큐입니다.

OfferAsync(IBlockingQueue, Object, Int64, TimeUnit)

각 삽입 작업이 다른 스레드에 의한 해당 제거 작업을 기다려야 하고 그 반대의 경우도 마찬가지인 BlockingQueue 차단 큐입니다.

PollAsync(IBlockingQueue, Int64, TimeUnit)

각 삽입 작업이 다른 스레드에 의한 해당 제거 작업을 기다려야 하고 그 반대의 경우도 마찬가지인 BlockingQueue 차단 큐입니다.

PutAsync(IBlockingQueue, Object)

각 삽입 작업이 다른 스레드에 의한 해당 제거 작업을 기다려야 하고 그 반대의 경우도 마찬가지인 BlockingQueue 차단 큐입니다.

TakeAsync(IBlockingQueue)

각 삽입 작업이 다른 스레드에 의한 해당 제거 작업을 기다려야 하고 그 반대의 경우도 마찬가지인 BlockingQueue 차단 큐입니다.

ToEnumerable(IIterable)

각 삽입 작업이 다른 스레드에 의한 해당 제거 작업을 기다려야 하고 그 반대의 경우도 마찬가지인 BlockingQueue 차단 큐입니다.

ToEnumerable<T>(IIterable)

각 삽입 작업이 다른 스레드에 의한 해당 제거 작업을 기다려야 하고 그 반대의 경우도 마찬가지인 BlockingQueue 차단 큐입니다.

적용 대상