Parallel_for algoritmi ichki parallelizmni ham qo'llab-quvvatlaydi. Ya’ni har bir
Ichki iteratsiyalar oxirida olingan natijalar yuqorida turgan iteratsiya bajariladigan
vazifaga natijalarni uzatadi.
Parallel_for algoritmining bir nechta parametrlari mavjud.
Birinchi
parametrlari boshlang'ich qiymatini, yakuniy qiymatini va ish funktsiyasini
(lambda ifodasi, funktsiya obyekti yoki funktsiyani ko'rsatuvchi) oladi.
Parallel_for algoritmi o'zboshimchalik bilan bekor qilish shartlarini qo'llab-
quvvatlamaydi. Parallel_for algoritmi iteratsiya o'zgaruvchining joriy qiymati
oxirgi qiymatdan pastroq bo'lganda to'xtaydi. Ya’ni barcha iteratsiyalar to’liq
bajariladi. Sikl iteratsiyasi oldinga qarab bo'lishi kerak. Parallel_for algoritmi stst
:: invalid_argument turidagi istisnolardan foydalanadi, agar _Step parametri 1 dan
kichik bo'lsa. PPL ko’p yadroli dasturlash uchun funktsiyalarni ta'minlovchi
mahalliy C ++ dasturchilari tomonidan ishlab chiqilgan Microsoft kutubxonasi. U
Visual Studio ning 2010-yilgi dasturiga kiritilgan. C ++
standart kutubxonasiga
o'xshash va Visual Studio 2010 bilan tanishtirilgan C ++ 11 til funktsiyasi bilan
ishlaydi.
Quyidagi misolda esa parallel_for algoritmining asosiy tuzilishi
ko'rsatilgan. Ushbu misol konsolga parallel ravishda [1, 5] oralig'idagi har bir
qiymatni yozishga imkon beradi.
1.1-rasm. parallel_for operatordan foydalanish
#include
#include
#include
#include
using
namespace
concurrency;
using
namespace
std
;
int
wmain
()
{
parallel_for(1, 6, [](
int
value) {
wstringstream ss;
ss << value << L'
';
wcout << ss.str();
};
}
Dostları ilə paylaş: