Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
私の Start() には非常に遅いシリアル コードが含まれているので、それをタスクに投入して待機します。
await new Task(() => { c.Start(); });
これはコンパイルされますが、Start() を呼び出さない限りタスクを実行しないようです。単純な 1 つのライナーの代わりに、3 つの行があります。以下を一行で書く方法はありますか?
var t = new Task(() => { c.Start(); }); t.Start(); await t;
を探していawait Task.Run(c.Start)ます。.NET 4.0 (4.5 ではなく) を使用している場合は、.NET を使用できますawait Task.Factory.StartNew(c.Start)。
await Task.Run(c.Start)
await Task.Factory.StartNew(c.Start)
、およびをTask.Factory.StartNew手動で構築/開始することを好みます。それぞれがより最適な実装を使用しており、単なる省略形ではありません。TaskTask.RunTask.Factory.StartNew
Task.Factory.StartNew
Task
Task.Run
Primefaces 3.4.2 を使用しています。
私のJSFページには次のものがあります
<p:selectOneMenu id="emp" value="#{mymb.emp.employeeName}"