【发布时间】:2013-02-05 19:43:04
【问题描述】:
我有一个带有 dataRevised 事件的串行端口对象,我需要让我的主线程睡眠将等待事件触发 dataRevised 事件,我使用信号量但是当等待事件的主线程不会触发时,我需要解决方案尽可能快,我在 .NET 2.0 中使用 C#。 换句话说,我需要代码:
lock(_lock){
_serialPort.write(cmd);
ans=_serialPort.read();
}
要从头到尾不间断地运行,问题是我需要等待传入的数据,所以会有一些东西要读取。
【问题讨论】:
-
代码? (请)到目前为止你做了什么?它很方便,所以我们有更多的上下文。
-
我不能在这里写出确切的代码,但简单地说,我需要非重叠 I/O 所以代码:lock(_lock){ _serialPort.write(cmd); ans=_serialPort.read(); } 将从头到尾运行而不会中断。
-
您不需要在此处编写确切代码。 S.O. 的奇妙之处是我们几乎所有人都明白保持公司软件足够的秘密。你所说的暴露是一件非常的小事。如果有人可以回答如何 这样做,那么很有可能它还不足以破坏您的保密协议。此外,学习公开适量的代码是一项非常有用的技能。我强烈建议您尝试(并学习)作为 S.O.这样对你会更加有用。
-
S.O 代表什么?还有我在更新中写的内容呢?
-
S.O. == Stack Overflow,这有点好...你已经尝试了什么?
标签: c# multithreading events serial-port