مشاركة عبر


بيانات متوازى ism (مكتبة متوازى المهام)

parallelهوm بيانات تشير إلى وحدات السيناريو التي نفس العملية هو تنفيذها بشكل متزامن (التي هو، بالتوازي) تشغيل عناصر في مجموعة المصدر أو صفيفة. parallelهوm بيانات باستخدام بناء الجملة الحتمي هو المعتمدة من قبل التحميلات الزائدة العديد من Forو ForEachالطرق System.Threading.Tasks.Parallelفئة. في العمليات متوازي بيانات، ومجموعة الموارد هو تقسيم حيث يمكن أن يعمل مؤشرات ترابط متعددة تشغيل قطع مختلفة بشكل متزامن. يدعم TPL parallelism بيانات من خلال System.Threading.Tasks.Parallelفئة. توفر هذه الفئة يستند إلى أسلوب متوازى تطبيقات ل وحلقات foreach ( For و For Eachفي Visual أساسى). كتابة منطق تكرار حلقي ParallelFor()أو ParallelForEach()يتكرر كثيرا كما سوف تكتب تكرار حلقي متسلسلة. لم يكن إلى إنشاء عمليات جزئية أو وضع عناصر العمل في قائمة الانتظار. في حلقات أساسية، لم يكن إلى الحصول على التأمين. يعالج TPL الجميع الأعمال ذات المستوى المنخفض نيابة عنك. يظهر المثال تعليمات برمجية التالي بسيطة foreachتكرار حلقي وبه متوازى مكافئ.

ملاحظةملاحظة

يستخدم هذه الوثائق تعبيرات لامدا إلى تعريف التفويضات في TPL.إذا لم تكن معتاداً على تعبيرات لامدا في C# أو Visual أساسى، راجع لامدا التعبيرات في PLINQ و TPL.

' Sequential version        
For Each item In sourceCollection
    Process(item)
Next

' Parallel equivalent
Parallel.ForEach(sourceCollection, Sub(item) Process(item))
// Sequential version            
foreach (var item in sourceCollection)
{
    Process(item);
}

// Parallel equivalent
Parallel.ForEach(sourceCollection, item => Process(item));

عند متوازى تكرار حلقي الأقسام المجريات، TPL مصدر بيانات حتى تكرار حلقي يمكن أن يعمل تشغيل أجزاء متعددة شكل متزامن. الأقسام "برنامج جدولة المهام مهمة استناداً إلى موارد النظام في الخلفية، و الحمل. عند الإمكان، redistributes جدولة العمل بين عدة مؤشرات ترابط و معالجات إذا أصبح unbalanced الحمل.

ملاحظةملاحظة

يمكنك أيضا توفير partitioner المخصصة الخاصة بك أو برنامج جدولة.للمزيد من المعلومات، راجع مخصص Partitioners PLINQ و TPL وSchedulers مهمة.

كلا ParallelFor()و ParallelForEach()التحميلات الزائدة عدة أن الطرق التي تمكنك من إيقاف أو فصل تنفيذ تكرار حلقي، مراقبة الولاية الحلقة تشغيل غير ذلك عمليات جزئية، للحفاظ تشغيل الولاية مؤشر ترابط المحلية، إنهاء مؤشر ترابط المحلية الكائنات، التحكم في درجة التزامن، وهكذا. تضمين أنواع المساعد الذي يقوم بتمكين هذه الوظيفة ParallelLoopState، ParallelOptions، و ParallelLoopResult، CancellationTokenو CancellationTokenSource.

لمزيد من المعلومات، راجع بيانات متوازى ism (مكتبة متوازى المهام).

parallelهوm بيانات باستخدام بناء الجملة مصرحة أو استعلام يشبه هو المعتمدة من قبل PLINQ. لمزيد من المعلومات، راجع متوازى LINQ (PLINQ).

مواضيع ذات صلة

Title

الوصف

كيفية القيام بما يلي: كتابة تنفيذ تكرار حلقي مستمرة متوازى.For بسيط

توضح هذه المقالة كيفية إلى الكتابة Forتكرار حلقي عبر صفيفة أي أو indexable IEnumerable<T>مجموعة المصدر.

كيفية القيام بما يلي: كتابة تنفيذ تكرار حلقي مستمرة متوازى.ForEach بسيط

توضح هذه المقالة كيفية كتابة ForEachتكرار حلقي على أي IEnumerable<T>مجموعة المصدر.

كيفية القيام بما يلي: إيقاف أو تناول وجبة من تكرار حلقي متوازى.For

توضح هذه المقالة كيفية إلى sإلىp أو فاصل من متوازى تنفيذ تكرار حلقي مستمرة حيث يتم إعلام الجميع عمليات جزئية للإجراء.

كيفية القيام بما يلي: تكرار حلقي متوازى.For والتي يحتوي على جزء الترابط-محلي متغيرات الكتابة

توضح هذه المقالة كيفية كتابة Forتكرار حلقي حيث يحتفظ كل مؤشر ترابط متغير خاصة التي هو vهوible لأي من عمليات جزئية الأخرى وكيفية يزامن نتائج من الجميع عمليات جزئية عند اكتمال التكرار حلقي لا.

كيفية القيام بما يلي: تكرار حلقي متوازى.ForEach والتي انتهت الكتابة مؤشر ترابط-المتغيرات المحلية

توضح هذه المقالة كيفية كتابة ForEachتكرار حلقي حيث يحتفظ كل مؤشر ترابط متغير خاصة التي هو vهوible لأي من عمليات جزئية الأخرى وكيفية يزامن نتائج من الجميع عمليات جزئية عند اكتمال التكرار حلقي لا.

كيفية القيام بما يلي: إلغاء الأمر متوازى.For أو تكرار حلقي ForEach

توضح هذه المقالة كيفية إلغاء الأمر متوازى الحلقة باستخدام System.Threading.CancellationToken

كيفية القيام بما يلي: تسريع نصوص تكرار حلقي صغيرة

توضح هذه المقالة إحدى الطرق للإسراع في التنفيذ عندما يكون نص تكرار حلقي صغيرة جداً.

مكتبة متوازى مهمة

توفير نظرة عامة حول "مكتبة متوازٍ للمهام".

البرمجة المتوازية في .NET Framework

يقدم متوازى البرمجة في إطار عمل.NET.