C#在并行线程中等待操作
我有一个C#form应用程序来发送CAN消息 在开始时,我启动一个线程来监视传入的消息,并将它们显示在C#在并行线程中等待操作,c#,multithreading,C#,Multithreading,我有一个C#form应用程序来发送CAN消息 在开始时,我启动一个线程来监视传入的消息,并将它们显示在DataGridView上 目前,该应用程序已设置为用户可以一次发送一条can消息,并查看其响应。 所有这些都工作正常可靠 我的应用程序的第2阶段要求我自动发送完整的CAN消息列表。 为此,我需要发送一条CAN消息,等待其响应,然后发送下一条 如何监视接收线程,并暂停发送函数足够长的时间,以便接收响应 由于发送消息不在单独的线程中,thread.Sleep(n)停止整个程序。我的方法: publ
DataGridView
上
目前,该应用程序已设置为用户可以一次发送一条can消息,并查看其响应。
所有这些都工作正常可靠
我的应用程序的第2阶段要求我自动发送完整的CAN消息列表。
为此,我需要发送一条CAN消息,等待其响应,然后发送下一条
如何监视接收线程,并暂停发送函数足够长的时间,以便接收响应
由于发送消息不在单独的线程中,thread.Sleep(n)
停止整个程序。我的方法:
public class DataViewModel
{
public AsynchronousCommand Send;
public DataViewModel()
{
Send = new AsynchronousCommand(() =>
{
SendData();
});
}
private void SendData()
{
}
}
public class SomewhereInForm
{
private DataViewModel dataViewModel = new DataViewModel();
public SomewhereInForm()
{
dataViewModel.Send.Executed += SendOnExecuted;
}
private void SendOnExecuted(object sender, CommandEventArgs args)
{
}
private void DoSome()
{
dataViewModel.Send.DoExecute(new int());
}
}
这是一个带有1个命令的示例。你们可以把命令放在列表中,随便什么
如果您不想构建自己的库witch命令,请使用以下命令:您是否阅读了C#5中的aync/await,如果看不到您是如何发送消息的,很难说。。。e、 g.如果是一个类似于
SendMyMessage
的呼叫,那么只需在该呼叫之后发送下一个。