سؤال

أبحث عن مكتبة جيدة، ويفضل أن تكون في C #، والتي يمكنني استخدامها في خدمة Windows وستحصل على جميع وظائف متعددة المراحل اللازمة.

سيتم تشغيل الخدمة كل دقيقة X، والتحقق من قاعدة بيانات للعمليات للاتصال، ولكل منهم تفرخ موضوعا وتشغيله.

يجب أن يتعامل كل مؤشر ترابط في الاستثناءات والتسجيل ومثله.

أي اقتراحات؟

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

المحلول

النظر في هذا المشروعhttp://www.codeplex.com/smartthreadpool.

وصف المشروع

تجمع الصفحات الذكية هو تجمع موضوع مكتوب في C #. إنه أكثر تقدما بكثير من تجمع الموضوعات المضمنة .NET. فيما يلي قائمة بميزات بركة الموضوع:

  • يتغير عدد مؤشرات الترابط ديناميكيا وفقا لحمل العمل على مؤشرات الترابط في المجمع.
  • يمكن للعناصر العمل إرجاع قيمة.
  • يمكن إلغاء عنصر العمل.
  • يتم استخدام سياق مؤشر ترابط المتصل عند تنفيذ عنصر العمل (محدود).
  • استخدام الحد الأدنى لعدد من مقابض الأحداث Win32، لذلك لن ينفجر عدد المقبض للتطبيق.
  • يمكن للمتصل انتظار اكتمال عدة أو كل عناصر العمل.
  • يمكن أن يكون عنصر العمل رد اتصال PostExecute، يسمى بمجرد اكتمال عنصر العمل.
  • يمكن التخلص من كائن الحالة، الذي يرافق عنصر العمل، تلقائيا.
  • يتم إرسال استثناءات عنصر العمل مرة أخرى إلى المتصل.
  • عناصر العمل لها الأولوية.
  • مجموعة عناصر العمل.
  • يمكن للمتصل تعليق بدء مجموعة تجمع وخطائد مجموعة عمل.
  • المواضيع لها الأولوية.
  • يمكن تشغيل كائنات COM التي تحتوي على شقة خيوط واحدة.
  • دعم الإجراءات والمندوبين.
  • دعم WindowsCE (LIMITED)
  • يمكن تغيير maxthreads و minthreads في وقت التشغيل.
  • إلغاء السلوك غير موجود.

نصائح أخرى

هذا لسان قليلا في خد، ولكن ماذا عن .NET Framework؟ ال System.Threading مساحة الاسم لديها كل ما تحتاجه لهذا الغرض.

إذا كنت تستطيع استخدام .NET 4، أو Backport في إطار RX، فقد تجعل مكتبة المهمة الموازية بعضا من هذا أسهل بعض الشيء، وكذلك بدون ذلك، فإن الإطار القياسي لديه كل ما تحتاجه.

إذا كنت بحاجة إلى مكتبة جدولة لديها دعم متعدد الخيوط، فقد استخدمت هذا من قبل: Quartz.net

http://quartznet.sourceforge.net/

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