الموضوع :: الموارد :: Rwlock

قراءة / كتابة قفل الفئة الأساسية ل perl ithReads
التحميل الان

الموضوع :: الموارد :: Rwlock الترتيب والملخص

الإعلانات

  • Rating:
  • رخصة:
  • Perl Artistic License
  • السعر:
  • FREE
  • اسم الناشر:
  • Dean Arnold
  • موقع ويب الناشر:
  • http://search.cpan.org/~darnold/

الموضوع :: الموارد :: Rwlock العلامات


الموضوع :: الموارد :: Rwlock وصف

قراءة / كتابة قفل الفئة الأساسية ل perl ithReads الموضوع :: مورد :: Rwlock هو وحدة بيرل توفر كل من فئة مجردة أمرية أمرانية، بالإضافة إلى تطبيق كائن ملموس، لتنظيم الوصول المتزامن إلى الموارد. قد يمسك مؤشرات الترابط القارئ المتزامنة متعددة مؤشر ترابط :: Roator :: Rwlock Readlock في نفس الوقت، في حين أن مؤشر ترابط كاتب واحد يحمل القفل حصريا. يتم حظر خيوط القارئ غير الحصرية إذا كان أي كاتب ينتظر حاليا للحصول على القفل. يتم منح قفل القراءة بعد إصدار جميع طلبات قفل الكتابة المعلقة. استخدام المواضيع استخدام المواضيع :: مشترك؛ استخدام الموضوع :: قائمة الانتظار :: كويوبر. استخدام الموضوع :: الموارد :: Rwlock؛ استخدم Base QW (موضوع :: قائمة انتظار :: موضوع Quiewable :: مورد :: Rwlock)؛ SUB جديد {بلدي فئة $ = التحول؛ بلدي obj: مشترك = ()؛ بلدي الأقل النفس = يبارك \ obj، فئة $؛ # # init the locking الأعضاء # $ الذاتي> الموضوع :: Resource :: Rwlock :: Adorn ()؛ عودة $ الذاتي } دون إبادة الفرعية {بلدي (فئة $، $ الذاتي)؛ العودة بارك الله، فئة $؛ } حزمة الرئيسية؛ استخدام المواضيع استخدام المواضيع :: مشترك؛ استخدام الموضوع :: قائمة الانتظار :: دوبلكس؛ استخدام lockedobject؛ # # في التطبيق الخيوط: # بلدي $ read_write = lockedobject-> جديد ()؛ بلدي $ tqd = الموضوع :: قائمة الانتظار :: Duplex-> جديد ()؛ بلدي Thrda $ = المواضيع> جديد (\ read_thread، $ tqd)؛ بلدي thrdb = الخيوط-> جديد (\ Write_thread، $ TQD)؛ # # تمرير الكائن المشترك لكل مؤشر ترابط # $ tqd-> enqueue_and_wait ($ read_write)؛ $ tqd-> enqueue_and_wait ($ read_write)؛ # القارئ sub read_thread {بلدي $ tqd = التحول؛ طلبي $ = $ tqd-> dequeue ()؛ $ tqd-> الاستجابة (طلب $ -> ، 1)؛ طلبي $ obj = $ طلب -> ؛ بلدي $ locktoken = $ obj-> read_lock ()؛ # # قم ببعض الأشياء # $ OBJ-> فتح ($ locktoken)؛ } # الكاتب الفرعي write_thread {بلدي $ tqd = التحول؛ طلبي $ = $ tqd-> dequeue ()؛ $ tqd-> الاستجابة (طلب $ -> ، 1)؛ طلبي $ obj = $ طلب -> ؛ # # أولا الاستيلاء على قراءة # بلدي $ locktoken = $ obj-> read_lock ()؛ # # قم ببعض الأشياء، ثم قم بالترقية إلى Writelock # $ Obj-> Write_Lock ()؛ # # قم ببعض الأشياء، ثم فتح # $ OBJ-> فتح ($ locktoken)؛ } متطلبات: perl.


الموضوع :: الموارد :: Rwlock برامج ذات صلة