如何在C#中运行多个进程

老年人,我是非常初学者和新的C#之后的PHP。

我的问题是如何在c#中同时执行多个function

class void main() { call functionA(argument) call functionB(argument) call functionC(argument) // these all function should start at same time } 

我的第一个function

 public void functionA(argument) { richTextbox1.appendText(starttime); } 

我的第二个function

 public void functionB(argument) { richTextbox1.appendText(starttime); } 

我的第三个function

 public void functionC(argument) { richTextbox1.appendText(starttime); } 

您的帮助/指南将节省我的时间。

最简单的选择是使用Task类。 Msdn指出它,只是复制(带有少量编辑)相关位

 Action action1 = () => { // your code here }; Action action2 = () => { // your code here }; Task t1 = new Task(action1); Task t2 = new Task(action2); t1.Start(); t2.Start(); 

通常,要并行执行多项操作,您需要使用线程。 最简单的方法是通过任务:

 Task.Run(() => functionA(argument)); Task.Run(() => functionB(argument)); Task.Run(() => functionC(argument)); 

但是,在您的情况下,您的所有函数都在尝试更新UI,只有主线程(UI线程)可以执行此操作。 所以它绝对不是multithreading的好用例。

快速谷歌搜索结果:

http://blog.slaks.net/2013-10-11/threads-vs-tasks/

http://cplus.about.com/od/learnc/a/multi-threading-using-task-parallel-library.htm

通过阅读本文,您将发现您的代码看起来与此类似:

 System.Threading.Tasks.Task.Factory.StartNew(() => functionA("arg")); System.Threading.Tasks.Task.Factory.StartNew(() => functionB("arg")); System.Threading.Tasks.Task.Factory.StartNew(() => functionC("arg"));