मेरे पास एक ऐसा कार्य है जिसे प्रतीक्षा समय समाप्त होने पर मुझे रद्द करने की आवश्यकता है। उदाहरण के लिएकोई कार्य रद्द करना
var t = Task.Factory.StartNew(() =>
{
Thread.Sleep(5000) // some long running task
"do something"
});
Task.WaitAll(new[] {t}, 1000);
लेकिन ऐसा लगता है कि कार्य अभी भी काम करता रहता है। मैंने CancellationTokenSource का उपयोग करने का प्रयास किया लेकिन यह भी काम नहीं कर रहा था।
मैं इस निम्नलिखित स्निपेट
static void Main(string[] args)
{
var cancellationTokenSource = new CancellationTokenSource();
var t = Task.Factory.StartNew(() => {
Thread.Sleep(5000);
Console.WriteLine("Still working");
}, cancellationTokenSource.Token);
Task.WaitAll(new[] {t}, 1000);
cancellationTokenSource.Cancel();
Console.ReadLine();
}
कंसोल प्रदर्शित करता है "अभी भी काम कर" का उपयोग कर पुष्टि की। मैंने सोचा कि कार्य रद्द कर दिया गया होगा।
मुझे यकीन है कि मुझे कुछ याद आ रहा है। मैं क्या खो रहा हूँ? धन्यवाद।