.NET 中的 Win32 QueueUserAPC API 替代方案

问题描述 投票:0回答:1

QueueUserAPC 最接近的 .NET 替代方案是什么?我应该使用 SynchronizationContext.Post 吗?

.net asynchronous winapi synchronization
1个回答
1
投票

现代 .NET 尝试抽象出原始线程,并用更高级别的库替换,例如任务并行库 (TPL) 或响应式扩展。

我不确定在 .NET 中线程是否存在“可警报”状态,就像您可以使用

SleepEx
获得的那样,但您始终可以使用 TPL 在进程线程池上对工作项进行排队。

Task.Start( () => { /* do work * });

如果您在那里执行某种异步 IO 操作,这将非常有效,这将允许在您的原始任务正在执行异步操作时重用同一线程来运行另一个排队任务。

© www.soinside.com 2019 - 2024. All rights reserved.