Asparallel usul . Bu usul
IEnumerable kengaytmalari , shuning uchun uni istalganiga qo'llash mumkin LINQ operatsiyalarini qo'llab-quvvatlaydigan ketma-ketlik. Ob'ektni qaytaradi ParallelQuery tipidagi . Sizda parallel ketma-ketlik mavjud bo'lganda ma'lumotlardan LINQ operatsiyalari uchun manba sifatida foydalanishingiz mumkin,
90
Machine Translated by Google
har qanday boshqa ketma-ketlik kabi. PLINQ bu kabi ma'lumotlarni parchalaydi
samarali parallel ishlov berishni ta'minlash usuli.
So'rovni parallellashtirish uchun AsParallel -ga ko'rsatilganidek qo'ng'iroq qo'shing
quyida:
var squares = sequence.AsParallel().Select(x => x * x);
Natija: 100 1 25 36 49 64 81 4 9 16
PLINQ so'rovi natijalari to'g'ri ekanligini payqagan bo'lishingiz mumkin , ammo
ular seriyali foydalanishdan ko'ra boshqacha tartibda paydo bo'ldi
LINQ versiyasi . Bu parallel ravishda so'rovlarni bajarishning qo'shimcha mahsulotidir
LINQ. Ba'zi hollarda natijalarning tartibi muhim emas,
ayniqsa agar
ma'lumotlar
keyinchalik
saralangan
bilan
standart OrderBy so'rov operatori yoki ba'zilari yordamida
imperativ usul. Asl nusxani buzgan boshqa hollarda
tartib halokatli bo'lishi mumkin. Bunday vaziyatlarda sizga kerak
natijalar tartibini kiritish tartibiga muvofiq saqlang. PLINQ
bilan tartibni saqlaydigan parallel ma'lumotlar manbasini qo'llab-quvvatlaydi
Do'stlaringiz bilan baham: |