【发布时间】:2016-08-23 07:44:17
【问题描述】:
我知道这个问题已经被回答了一千次,但我仍然无法让这些功能同时工作。这是我的代码:
static void Main(string[] args)
{
a();
a();
}
static void a()
{
string sampleString = "a";
Console.WriteLine(sampleString);
for (int i = 0; i < 10; i++)
{
System.Threading.Thread.Sleep(TimeSpan.FromSeconds(0.1));
Console.SetCursorPosition(0, Console.CursorTop -1);
sampleString = " " + sampleString;
Console.WriteLine(sampleString);
}
}
该函数只写字母'a',并在0.1秒后在其后面添加一个空格,并不复杂。函数结束后,它再次执行相同的操作。我希望这两个函数同时工作,第一行中的第一个函数和第二行中的第二个函数。 提前致谢。
【问题讨论】:
-
异步编程是一个非常广泛的话题。我建议阅读Asynchronous Programming Patterns。
-
如果这个问题已经被回答了一千次,为什么你没有实施任何解决方案而不是再次提问?
-
他正在寻求一种方法来返回之前输出的行并为其添加空间。
-
同时没有任何意义。即使使用异步编程(这就是您所追求的),您的计算机一次也只能处理一项任务。但是,您可以非常快速地在并行任务之间切换,让您感觉它同时发生。
-
类似
Parallel.Invoke(() => a(); () => a());?Parallel.For(0, 10, i => whatever);?
标签: c# asynchronous