WaitForReaderArrival
的方法,如下所示:(一直运行,等待读卡器到来)
public void WaitForReaderArrival()
{
do
{
if (ReaderArrived())
{
break;
}
System.Threading.Thread.Sleep(1000);
} while (ReaderArrived() == false);
}
我在等待读者使用以下方式到达:
await Task.Run(new Action(WaitForReaderArrival));
if (ReaderArrived())
{
//Raise an ReaderArrived here!
..//blah blah
}
我的一个同事要求我将上面的那一行更改为
WaitForReaderArrival();
if (ReaderArrived())
{
//Raise an ReaderArrived here!
..//blah blah
}
问题是:
我采用的异步模型真的没有用吗?为什么她让我改成正常的同步方法,这对我来说仍然是一个问题。
在上面的内容中,等待某件事情发生然后继续进行的正确方式是什么?
await Task.Run
可能是你能做的最好的事情。 - noseratio - open to workTask.Delay
进行一些改进,例如此处。 - noseratio - open to work