Retrieving a Task’s Result
Because tasks can return a value as the result of background computation, an obvious question is how to retrieve the result. This section examines one way, which leaves the Task<TResult>
-based world of asynchrony and blocks until the result is available. Later in this chapter, we discuss how to schedule more work based on a task’s result, using the concept of continuations (see the “Continuations” section).
Here’s how to retrieve a task’s result: Just call the Result
property. This causes the receiving thread to block until the result is available:
var task = new Task<int>(() => { // Do lots of work here, computing int value "res". return res;});// Do other useful work until you can't ...
Get C# 5.0 Unleashed now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.