0

コンソールに同時に 2 つのことを書き込む必要があります。再帰関数が再帰から戻ってきたときの部分的な結果を表示する必要があり (ここで待機時間があります)、画面の他の部分にスタックがいっぱいになっている割合を書き込む必要があります。

これは同時に行う必要があります。C#でこれを行うにはどうすればよいですか?

編集:また、進行状況を更新する必要があります。

4

2 に答える 2

3

Consoleなど、クラス内のさまざまなプロパティを使用して、書き込み位置を設定できます。2 つの位置に同時に書き込むことはできません。1 つの場所に書き込み、すぐに別の場所に書き込むだけです。それは十分に近いはずです。CursorLeftCursorTop

競合状態を回避するための 2 つのオプション:

  • すべてのコンソール書き込みを 1 つのスレッドで実行します。たとえば、書き込みのプロデューサー/コンシューマー キューを使用します。

  • ロックを使用してください - ロック内で完全な「位置の設定と書き込み」操作を行うメソッドを用意してください。

于 2012-08-01T06:24:13.350 に答える
0

メイン スレッドが再帰関数でビジー状態で待機している場合、唯一のオプションは、別のスレッドを使用してスタックの割合を表示することです。

于 2012-08-01T06:24:05.310 に答える