我想做一个正在运行的任务(ListenResponse()),它不断地监听并向串口发送数据。同时,我想添加另一个任务(WriteParameter),通过它设置一些参数,然后将其发送到串口。问题是,现在我正在使用两个异步任务,但是线程中的数据更新得不够快。它在 ListenResponse() 任务的几次迭代后更新。
伪代码如下:
string data;
void ListenResponseSerial() {
byte b;
while (true) {
b = getSerialData(&b);
parse(b);
if (parsed) {
Respond(data);
}
}
}
public async Task<object> ListenResponse(dynamic input) {
(new Task(ListenResponseSerial)).Start();
}
public async Task<object> Write(dynamic input) {
IDictionary<string, object> payload = (IDictionary<string, object>)input;
data = (string) payload["data"];
return null;
}
非常感谢您的帮助。