使用C#进行多任务编程

时间:2017-06-26 14:16:45

标签: c# multithreading

我知道C#编程的基础,但我的目的是开发一个数据采集程序。通常我可以使用LabVIEW或MATLAB,但我想学习如何使用.NET。虽然我的知识有限,但我知道我需要了解C#中的一些高级主题,如多线程,async / await等。我通过示例学习得很好,但到目前为止我找到的例子对我没有帮助。我没有说他们是坏榜样,只是我的精神思想没有很好地吸收它们。

我需要一个工作示例的帮助,以便我能理解这些主题。我有一个带有3个文本框的Winform:textbox1,textbox2,textbox3和6个按钮。假设我希望我的程序运行3个独立任务,如下所示

  • textbox1 =显示当前时间并每1秒更新一次。它 当我点击btStart1并停止btStop1时运行。
  • textbox2 =显示当前时间并每2秒更新一次。它 当我点击btStart2并停止btStop2时运行。
  • textbox3 =显示当前时间并每3秒更新一次。它 当我点击btStart3时运行,当我点击btStop3时停止。

任何帮助将不胜感激。

enter image description here

1 个答案:

答案 0 :(得分:1)

在跳转到多线程之前,先从基础知识开始,而不知道是否有必要。 LabView和Matlab都为您实现了多线程,因此您不必担心它。对于C#,情况并非如此,您需要在高级别进行一些编程才能使其正确。对于C#的新手,以及更多的LabView或Matlab风格的思考,我不推荐这个。

除此之外,您不需要(可能甚至不能)多线程数据采集。假设您使用制造商提供的驱动程序,此驱动程序将确定您是否可以对您的采集进行多线程处理,如果通信可能不通过一根电缆。您可以对获取的数据进行多线程处理,但首先需要检查是否需要这样做。

如果您需要有关发布代码所需示例的帮助,可以回答部分问题。