التفاعل مع CMutex دون MFC

لدينا العديد من تطبيقات MFC ، والتي تستخدم CMutex (false ، "blah") ، حيث يسمح "blah" لـ mutex بالعمل عبر حدود العملية.

تمت إعادة كتابة أحد هذه التطبيقات بدون MFC (باستخدام Qt بدلاً من ذلك). كيف يمكنني محاكاة CMutex باستخدام مكالمات Win32؟ (QM's QMutex ليس inter-process.) أفضل عدم تعديل تطبيقات MFC.

0
وأضاف تحرير
الآراء: 1

2 إجابة

بالنسبة إلى عمليات الدمج التي تتم بين العمليات ، فأنت تريد هذه المكالمات:

CreateMutex

     

WaitForSingleObject

     

ReleaseMutex

     

CloseHandle

هذه هي مكالمات Win32 الأساسية التي يتم استدعاء CMutex حول حوله.

بالنسبة إلى كائنات mutexs التي تتم معالجتها فقط ، يمكنك أيضًا استخدام هذه المكالمات ، وهي أسرع:

InitializeCriticalSection

     

EnterCriticalSection

     

LeaveCriticalSection

     

DeleteCriticalSection

0
وأضاف

قد تكون funcs التالية ما تريده ، يتم توثيقها كلها على MSDN.

CreateMutex(...)
WaitForSingleObject(...)
ReleaseMutex(...)
0
وأضاف