UIとは別に非同期で無限ループするクラスの作成方法
お世話になっております。
WFPアプリケーションにて、サーバーから値を取得して、処理を行うクラスを作成したいと思っております。
基本的に、アプリが起動してから終了するまでの期間中動作させることを想定しております。
以下のようにしてしまうと、UI側は固まってしまうと思います
csharp
1Class Recv 2{ 3 Recv() 4 { 5 Loop(); 6 } 7 void Loop() 8 { 9 while(true) 10 { 11 int a = GetValue(); // サーバーから値をもらうと仮定 12 a += 10; 13 Console.WriteLine(a); 14 Thread.Sleep(1000); 15 } 16 } 17} 18 19// UI側から 20Recv r = new Recv();
質問
下記のような書き方を行えばUIが固まることはないのですが、問題ないでしょうか。
最適な方法がございましたら、よろしくお願いいたします。
C#
1Task.Run(() => Recv r = new Recv());
C#
1Recv() 2{ 3 Task.Run(() => Loop()); 4}
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/08/04 02:53
2017/08/04 04:06
2017/08/04 04:23