.net 从任务中获取WaitHandle
我有一个迭代器方法,其中我需要使用.net 从任务中获取WaitHandle,.net,multithreading,.net,Multithreading,我有一个迭代器方法,其中我需要使用任务、取消令牌和自动恢复事件来监视生产者流程。我需要能够等待任何(我不能等待,因为它是一个迭代器) 我使用了Threading.WaitHandle.WaitAny(WaitHandle[])对于CancellationToken和AutoResetEvent来说是不错的,但是我找不到如何从任务中获取WaitHandle。诀窍是将任务强制转换为IAsyncResult,然后可以像这样使用asynchwaithandle属性 Threading.WaitHandl
任务
、取消令牌
和自动恢复事件
来监视生产者流程。我需要能够等待任何(我不能等待,因为它是一个迭代器)
我使用了
Threading.WaitHandle.WaitAny(WaitHandle[])
对于CancellationToken
和AutoResetEvent
来说是不错的,但是我找不到如何从任务中获取WaitHandle
。诀窍是将任务
强制转换为IAsyncResult
,然后可以像这样使用asynchwaithandle
属性
Threading.WaitHandle.WaitAny(New Threading.WaitHandle[] {((IAsyncResult)MyTask).AsyncWaitHandle, token.WaitHandle, autoResetHandle})