0

我需要在控制台中同时写两件事。我必须显示递归函数从递归返回时的部分结果(我将在此处等待时间),并且在屏幕的其他部分我必须写出堆栈已满的百分比。

这必须同时进行。我如何在 C# 中做到这一点?

编辑:还必须更新进度。

4

2 回答 2

3

您可以使用类中的各种属性设置书写位置Console,例如CursorLeftCursorTop。您不能同时写入两个位置 - 只需写入一个位置,然后立即写入另一个位置。那应该足够接近。

避免竞争条件的两个选项:

  • 在单个线程中执行所有控制台写入,例如使用写入的生产者/消费者队列

  • 使用锁定 - 只需有一种方法可以在锁定中执行完整的“设置位置和写入”操作。

于 2012-08-01T06:24:13.350 回答
0

如果你的主线程正在等待,忙于你的递归函数,唯一的选择是使用另一个线程来显示堆栈的百分比。

于 2012-08-01T06:24:05.310 回答