|
分類:[.NET 全般]
お世話になっております。
C# .NET4.6.1を使用して開発しております。
無限ループにおいてある処理(処理A)を実行し、 処理中に終了命令(コンソールからの入力)があった場合1ループの終了時に無限ループを終了する、 入力がなかった場合はループを継続する、 のような処理を実装しようとしております。
無限ループの中に以下のようなTaskクラスのアクションを定義して試してみたのですが、 望んだ結果にはならず処理A中に終了命令を入力してもそのまま処理が実行されてしまいました。
while(true){ ..Task isEnd = Task.Run(() => Console.ReadLine().Equals(COMMAND_END)); ../* ....処理A ..*/ ..if(isEnd.Wait(TimeSpan.FromMilliseconds(100))) break; }
非同期処理自体の理解が足りておらず頓珍漢な質問でしたら申し訳ございません。 何か良い手段、もしくは調べ方についてご教授いただけると幸いです。
よろしくお願いいたします。
|