【发布时间】:2011-01-13 17:42:37
【问题描述】:
我目前正在尝试编写一些代码来向设备发送请求,然后等待响应。问题是响应没有结束字符来指示消息已完成,因此我们只需要等待一段时间。
我要做的是发送消息,然后等待一段时间。每次有一条数据到达时,我都想增加等待的时间,比如再增加 100 毫秒,以防有更多数据要跟踪。如果在那段时间之后没有任何消息进入,则假定消息已完成。 这是我想出的伪代码:
var waitTime
Function SendData(data)
{
send the request here and then block with the next code
while (waitTime)
{
//wait
}
}
Function RecieveData(data)
{
Assign new data to a buffer
waitTime++
}
SendData 和 RecieveData 函数都在一个类中的不同线程上。我正在用 C# 编写代码。我曾尝试使用 DataTime 对象来实现这一点,但在使用 10 毫秒/100 毫秒时它似乎不是很准确?
任何关于什么是最好的实现方式的建议都将不胜感激!
问候 阿德里安
【问题讨论】:
-
您忙于等待而不是简单地调用 Sleep 是否有某种原因?
-
这个答案 (stackoverflow.com/questions/4212611/…) 可能很有趣。
标签: c#