DispatcherQueue.TryEnqueue 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
오버로드
TryEnqueue(DispatcherQueueHandler) |
DispatcherQueue와 연결된 스레드에서 실행되는 작업을 DispatcherQueue에 추가합니다. |
TryEnqueue(DispatcherQueuePriority, DispatcherQueueHandler) |
DispatcherQueue와 연결된 스레드에서 실행되는 작업을 DispatcherQueue에 추가합니다. |
TryEnqueue(DispatcherQueueHandler)
DispatcherQueue와 연결된 스레드에서 실행되는 작업을 DispatcherQueue에 추가합니다.
public:
virtual bool TryEnqueue(DispatcherQueueHandler ^ callback) = TryEnqueue;
/// [Windows.Foundation.Metadata.Overload("TryEnqueue")]
bool TryEnqueue(DispatcherQueueHandler const& callback);
[Windows.Foundation.Metadata.Overload("TryEnqueue")]
public bool TryEnqueue(DispatcherQueueHandler callback);
function tryEnqueue(callback)
Public Function TryEnqueue (callback As DispatcherQueueHandler) As Boolean
매개 변수
- callback
- DispatcherQueueHandler
실행할 작업입니다.
반환
bool
True 이면 작업이 큐에 추가되었음을 나타냅니다. false, 그렇지 않으면 입니다.
- 특성
예제
// Create a new thread and initialize a DispatcherQueueController
// and run a DispatcherQueue event loop on it.
_queueController =
DispatcherQueueController.CreateOnDedicatedThread();
_queue = _queueController.DispatcherQueue;
// This is the first TryEnqueue() after creating the DispatcherQueue
// The callback is guaranteed to be invoked first despite Priority on the
// newly created thread.
bool isQueued = _queue.TryEnqueue(
() =>
{
// task to perform on another thread.
});
설명
작업은 정상 우선 순위로 큐에 대기됩니다. 큐는 콜백 을 직렬로 우선 순위 순서로 호출합니다.
ShutdownQueueAsync()가 호출되면 큐는 새 작업을 큐에 대기하지 않으며 이 메서드는 false를 반환합니다.
적용 대상
TryEnqueue(DispatcherQueuePriority, DispatcherQueueHandler)
DispatcherQueue와 연결된 스레드에서 실행되는 작업을 DispatcherQueue에 추가합니다.
public:
virtual bool TryEnqueue(DispatcherQueuePriority priority, DispatcherQueueHandler ^ callback) = TryEnqueue;
/// [Windows.Foundation.Metadata.Overload("TryEnqueueWithPriority")]
bool TryEnqueue(DispatcherQueuePriority const& priority, DispatcherQueueHandler const& callback);
[Windows.Foundation.Metadata.Overload("TryEnqueueWithPriority")]
public bool TryEnqueue(DispatcherQueuePriority priority, DispatcherQueueHandler callback);
function tryEnqueue(priority, callback)
Public Function TryEnqueue (priority As DispatcherQueuePriority, callback As DispatcherQueueHandler) As Boolean
매개 변수
- priority
- DispatcherQueuePriority
낮음, 보통 또는 높음과 같은 작업의 우선 순위입니다.
- callback
- DispatcherQueueHandler
실행할 태스크에 대한 대리자입니다.
반환
bool
True 이면 작업이 큐에 추가되었음을 나타냅니다. false, 그렇지 않으면 입니다.
- 특성
예제
// Create a new thread and initialize a DispatcherQueueController
// and run a DispatcherQueue event loop on it.
_queueController =
DispatcherQueueController.CreateOnDedicatedThread();
_queue = _queueController.DispatcherQueue;
// This is the first TryEnqueue() after creating the DispatcherQueue. The
// first TryEnqueue task is guaranteed //to be invoked first on the new
// thread, regardless of what priority it was enqueued at.
bool isQueued = _queue.TryEnqueue(Windows.System.DispatcherQueuePriority.High,
() =>
{
// task to perform on another thread.
});
설명
큐는 콜백 을 직렬로 우선 순위 순서로 호출합니다.
ShutdownQueueAsync()가 호출되면 큐는 새 작업을 큐에 대기하지 않으며 이 메서드는 false를 반환합니다.