Tôi đã phương pháp sau đó sử dụng lập lịch trình ngầm:Rõ ràng xác định TaskScheduler cho một phương pháp ngầm dự kiến
private async Task FooAsync()
{
await Something();
DoAnotherThing();
await SomethingElse();
DoOneLastThing();
}
Tuy nhiên, từ một cuộc gọi-trang web cụ thể tôi muốn nó chạy trên một lịch trình có mức ưu tiên thấp thay vì mặc định:
private async Task BarAsync()
{
await Task.Factory.StartNew(() => await FooAsync(),
...,
...,
LowPriorityTaskScheduler);
}
Làm cách nào để đạt được điều này? Nó có vẻ giống như một câu hỏi thực sự đơn giản, nhưng tôi đang có một khối tinh thần hoàn chỉnh!
Lưu ý: Tôi biết ví dụ sẽ không thực sự biên dịch :)
Nếu bạn cần để có được một lợi nhuận từ chờ đợi, bạn cũng nên Unwrap nó, tức là chờ đợi taskFactory.StartNew (FooAsync) .Unwrap; – VoteCoffee
Bạn có thể thêm mã hoặc tham chiếu cho 'LowPriorityTaskScheduler' không? – xmedeko
@xmedeko: 'LowPriorityTaskScheduler' là loại của op chứ không phải của tôi. –