Учебное пособие Казань 018 удк


 Ожидание завершения параллельных задач



Download 2,08 Mb.
Pdf ko'rish
bet56/98
Sana16.12.2022
Hajmi2,08 Mb.
#888158
TuriУчебное пособие
1   ...   52   53   54   55   56   57   58   59   ...   98
Bog'liq
ParVychGafGal

6.7. Ожидание завершения параллельных задач 
Когда 
вы 
разрабатываете 
программное 
обеспечение, 
которое 
использует класс 
Task
часто возникают ситуации, когда задача должна быть 
выполнена до того, как основной поток сможет продолжить обработку. Это 
может быть связано с тем, что параллельная задача генерирует результаты, 
которые необходимы позже в процессе, и вы должны дождаться, когда 
результаты 
будут 
доступны 
до 
того, 
как 
вы 
попытаетесь 
их 
использовать. Поэтому 
параллельные 
задачи 
должны 
быть синхронизированы для правильной работы программного обеспечения. 


84 
Параллельная 
библиотека 
задач 
(TPL) 
включает 
несколько методов, которые позволяют дождаться завершения одной или 
нескольких параллельных задач. Часто вам нужно дождаться завершения 
одной задачи, либо успешно, либо с исключением, прежде чем продолжить 
выполнение программы. Этого можно достичь с помощью метода 
Task.Wait().
В самой базовой ситуации этот метод блокирует поток, из которого он 
вызывается. Чтобы продемонстрировать использование метода 
Wait
, сначала 
рассмотрим следующий пример кода. Здесь мы запускаем задачу, которая 
имитирует получение некоторых числовых данных из внешнего источника 
данных. Задача показывает сообщение, потом будет пауза в течение пяти 
секунд, а затем возвращает массив из десяти целых чисел. Основной поток 
использует результаты задачи, суммируя их и выводя результат. 
int[] values = null; 
 Task loadDataTask = new Task(() => 

Console.WriteLine("Loading data..."); 
Thread.Sleep(5000); 
values = Enumerable.Range(1,10).ToArray(); 
}); 
loadDataTask.Start(); 
loadDataTask.Wait(); 
loadDataTask.Dispose(); 
Console.WriteLine("Data total = {0}", values.Sum());
Если есть вероятность слишком долгого выполнения задачи, вы можете 
предоставить значение таймаута, используя перегруженную версию метода 

Download 2,08 Mb.

Do'stlaringiz bilan baham:
1   ...   52   53   54   55   56   57   58   59   ...   98




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish