Có sự khác biệt về chức năng giữa hai hình thức sử dụng chờ đợichờ Task.Factory.StartNew (() => so Task.Start; chờ đợi công tác;
string x = await Task.Factory.StartNew(() => GetAnimal("feline"));
Task<string> myTask = new Task<string>(() => GetAnimal("feline")); myTask.Start(); string z = await myTask;
Cụ thể, theo thứ tự nào là mỗi hoạt động được gọi là trong 1.? is StartNew gọi và sau đó là chờ đợi gọi, hoặc là chờ đợi gọi đầu tiên trong 1.?
Khi gọi myTask.Start(), GetAnimal ("feline") được gọi ngay lập tức, điều này có ý nghĩa vì tôi đã bắt đầu Tác vụ. Điều này có nghĩa là tôi có thể bắt đầu nhiều Tác vụ ngay lập tức và sau đó quyết định khi nào tôi muốn gọi chờ cho mỗi nhiệm vụ? – user42
@ user42: tất nhiên. (Nhưng tôi sẽ không nói rằng gọi trong thread khác là hoàn toàn "ngay lập tức".) – Vlad