Web*_*ine 2 c# multithreading task
我正在教自己c#并努力理解线程,异步等.我正在尝试做一些实践练习以提高我的知识水平.
我有两种方法:方法x和方法Y.
我需要创建一个将运行方法X的任务,一旦方法x完成,它将运行方法y.
然后我想在此基础上再创建三次相同的任务.所以基本上有三个不同的任务运行两种方法.
方法是public void.我试过这样的事情:
Task[] tasks = new Task[2];
tasks[1] = Task.Run(() => x(n1.ToString()));
tasks[2] = tasks[1].ContinueWith(antecedent => y() ));
Run Code Online (Sandbox Code Playgroud)
如果MethodX并且MethodY是:
public async Task MethodX() {}
public async Task MethodY() {}
Run Code Online (Sandbox Code Playgroud)
那么,你可以使用:
await MethodX();
await MethodY();
Run Code Online (Sandbox Code Playgroud)
如果MethodX并且MethodY是:
public void MethodX() {}
public void MethodY() {}
Run Code Online (Sandbox Code Playgroud)
那么,你可以使用:
await Task.Run(() =>
{
MethodX();
MethodY();
}
Run Code Online (Sandbox Code Playgroud)