【发布时间】:2019-01-30 06:46:25
【问题描述】:
我开始练习Tasks,我尝试了以下代码:
static void Main()
{
Task.Factory.StartNew(() =>
{
Write('a', 0);
});
var t = new Task(() =>
{
Write('b', 10);
});
t.Start();
Write('c', 20);
Console.ReadLine();
}
static void Write(char c, int x)
{
int yCounter = 0;
for (int i = 0; i < 1000; i++)
{
Console.WriteLine(c);
Console.SetCursorPosition(x, yCounter);
yCounter++;
Thread.Sleep(100);
}
}
我的想法是查看控制台如何在三个不同的列之间切换以输出不同的字符。它确实交换了列,但它不输出正确的字符。例如,在第一列中它只需要输出'a',但它也输出'b'和'c',其他2列也是如此。
【问题讨论】: