在不更改代码的情况下确定操作顺序

时间:2016-07-23 13:30:51

标签: c# multithreading

我有一个C#方法。

  void SomeMethod()
{
Console.WriteLine("A");
Console.WriteLine("B");
Console.WriteLine("A");
Console.WriteLine("B);
}

我希望输出为 一个 一个 乙 乙

我只能在现有行的上方或下方添加一些代码行,但不能更改序列。如何实现线程以实现结果。

1 个答案:

答案 0 :(得分:1)

将第一个"B"输出包装到一个线程中,并在打印第二个"A"后运行该线程:

void SomeMethod()
{
    Console.WriteLine("A");
    var thread = new Thread(() =>
    {
        Console.WriteLine("B");
    });
    Console.WriteLine("A");
    thread.Start();
    thread.Join();
    Console.WriteLine("B");
}