Task中建一个Queue 出了sleep等方法。如何等待队列中填充任务并且执行后返回?
假设我有有个要求延迟极低的数据要处理。比如var r = MD5(str) 需要用最快的方式得到MD5的结果。
按照低级的方法。我在Task中用如下方式来实现。
while (true)
{
if (!string.IsNullOrWhiteSpace(str))
{
strr= MD5(str)
str= null;
}
Thread.Sleep(1);
}
但是首先这个方法感觉很不美观。并且查询得知。sleep在系统上的最低精度是15ms。并且返回的数据也相对麻烦。要么做事件。要么也要类似while去等待读取。。
想用Queue 尝试实现类似功能。。不知道Queue能否相对美观,快速的等待数据被填充。并且方便快速的返回处理后的数据?
或者请教有没有其他比较合适的方法?