在通用(Windows 10)应用中,我希望在WaitHandle
发出信号时收到回电(在我的情况下为ManualResetEvent
)。我该如何实现这一目标?通常我会使用ThreadPool.RegisterWaitForSingleObject()
,但是唉,ThreadPool
就像渡渡鸟一样。
任何其他(高效 - 非线程阻塞)替代方案?
答案 0 :(得分:1)
.Net for UWP中的ThreadPool类没有RegisterWaitForSingleObject方法。
正如汉斯建议的那样,你可以开始一个新的线程来等待信号解决。
private static ManualResetEvent mre = new ManualResetEvent(false);
public MainPage()
{
this.InitializeComponent();
Task.Run(() => {
mre.WaitOne();
Debug.WriteLine("do sth else");
});
}
private void button_Click(object sender, RoutedEventArgs e)
{
mre.Set();
}