SetCursorPosition同时用于两个线程

时间:2015-03-02 21:07:33

标签: c# multithreading console-application

我目前正在用C#编写一个控制台游戏。我使用两个theads,两个都在Console.SetCursorPosition()上打印一些东西。但由于光标只是一个,程序有时会交换文本打印的位置并导致混乱。有办法解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

听起来你需要锁定setposition和write

lock(x)
{
 Console.SetCursorPosition()
 Console.Write();
}

其中x是为此目的分配的对象。它必须在所有线程之间共享