using System;
using System.Threading;
using System.Threading.Tasks;
class DemoLambdaTask
{
static void Main()
{
Task tsk = Task.Factory.StartNew( () => {
Console.WriteLine("Vazifa boshlandi");
for (int count = 0; count < 10; count++)
{
Thread.Sleep(500);
Console.WriteLine("Muammolar soni " + count );
}
Console.WriteLine("Vazifa tugadi.");
} );
tsk.Wait();
tsk.Dispose();
Console.WriteLine("Asosiy qism tugadi.");
Console.ReadKey();
}
}
Dastur natijasi quyidagicha:
Izoh: Vazifani tasvirlash uchun lambda ifodasini ishlatishdan tashqari, tsk.Dispose() metodiga tsk.Wait () metodi qaytmaguncha murojat qilinmasligiga e'tibor bering. Dispose() metodi faqat vazifaning oxirida chaqirilishi mumkin, buni tekshirish uchun tsk.Wait() metodini chaqirishdan oldin bu yerda tasvirlangan dasturda tsk. Dispose() metodini chaqirib ko'ring. Bu favqulodda vaziyatga olib kelishini darhol sezasiz.
Do'stlaringiz bilan baham: |