2015-01-11 18 views

cevap

15

Tam olarak 'el ile' bir görev oluşturmak için TaskCompletionSource kullanabilirsiniz.

Görev özelliği üzerinden tüketici tarafındaki erişim sağlayan , bir temsilciye bağlanmamış bir görev üreticisi tarafını temsil eder.

El dışarı tüketiciye tamamlama kaynağın Task özelliği ve görevi tamamlamak için (iradesiyle) Üzerinde SetResult arayın. Sırasıyla, iptalleri ve hataları temsil etmek için SetCanceled ve SetException olduğunu unutmayın.

+0

Teşekkürler! Tam olarak ne zaman devam edeceğini biliyor musun? SetResult' denildiğinde? Bir süre sonra mı? Bunu kontrol etmenin bir yolu var mı? –

+0

Bu konuya özgü değil - 'Set ***' yöntemleri herhangi bir iş parçacığı üzerinde çağrılabilir ve nesnenin kendisi iş parçacığı güvenlidir. Ayrıca, yarışlarla uğraşmak için 'TrySet *** 'yöntem ailesini de sağlar. – Ani

+0

Devamlar, görev tamamlandığında (uygunsa devam durumunda görev durumu filtresi tarafından belirlendiği şekilde) çalışacaktır. – Ani

İlgili konular