سؤال

لديك مجموعة تشغيل طويلة من المهام المنفصلة: تحليل 10s من الآلاف من الأسطر من ملف نصي، ترطيب الكائنات، والتلاعب، والاستمرار.

إذا كنت أقوم بتنفيذ هذا في Java، ففترض أنني قد أضيف مهمة جديدة إلى منفذي لكل سطر في الملف أو المهمة لكل خطوط X (أي قطع).

ل .NET، وهذا ما أستخدمه، أنا لست متأكدا للغاية. لدي شك، ربما قد يكون CCR مناسبا هنا، لكنني لست مألوفا بما يكفي معه، وهذا هو السبب في أنني أطرح هذا السؤال.

هل يمكن أن تعمل CCR بطريقة مكافئة على منفذي Java، أو هل هناك شيء آخر متاح؟

شكرا

هل كانت مفيدة؟

المحلول

قد ترغب في إلقاء نظرة على مكتبة المهمة الموازية.

اعتبارا من C # 5 هذا مدمج في اللغة باستخدام async و await الكلمات الدالة.

نصائح أخرى

إذا كنت سيسأل حفنة من .NET People ما هو الأقرب إلى ما يعادل مسئنسة Java، فقد لا يضر لوصف الميزات المميزة لمنفذتي Java. الشخص الذي يعرف إجابتك قد لا يكون أكثر دراية بجافا مما كنت عليه.

ومع ذلك، إذا كانت مكتبة المهمة الموازية المذكورة بالفعل مبالغا فيها لتلبية احتياجاتك، أو لا ترغب في انتظار .NET 4.0، ربما threadpool.queueUserworkitem () سيكون ما تبحث عنه.

ربما هذا مرتبط: التصميم: مهام المكتبة الموازية المستكشفةوبعد يرى 10-4 الحلقة 6: ملحقات متوازية كإصلب سريع.

للنهج القائم على الخيط الأقدم، هناك تجمع موضوع لتجميع.

فئة المعلومات الأساسية ربما تكون ما تبحث عنه. كما يتضمن الاسم، فإنه يسمح لك بتشغيل مهام الخلفية، مع تجميع أحداث تحديث الحالة تلقائيا.

لأي شخص يبحث عن حل أكثر معاصرة (كما كنت)، تحقق من Eventloopscheduler. صف دراسي.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top