Is mutex compatible with pthread in C++11 -
इसके बावजूद pthread_mutex , mutex ( #include & lt; mutex & gt; ) सी ++ 11 का उपयोग करके पठार सुरक्षित बना सकते हैं?
कृपया एक उदाहरण ढूंढें:
// सर्वर थ्रेड का निर्माण pthread_create (& server_thread, NULL, Server, NULL) ; // क्लाइंट थ्रेड का निर्माण pthread_create (& amp; client_thread, NULL, क्लाइंट, NULL); // जब तक client_thread से बाहर नहीं निकलता pthread_join (client_thread, NULL); दोनों सर्वर, और क्लाइंट कॉल foo () ।
mutex mut; शून्य foo () {mut.lock (); CRITICAL_WRITE (); mut.unlock (); }
यह कार्यान्वयन विशिष्ट है सी + + 11 मानक पुस्तकालय जो मुझे पता है (जैसे libstdc ++ 4.9 में, और शायद भी libc ++ से) व्यावहारिक रूप से लिनक्स पर मौजूदा पुस्तकालय से ऊपर बना है।
कोई भी लिनक्स पर कुछ सी ++ 11 मानक पुस्तकालय का उपयोग करके प्रत्यक्ष रूप से उपयोग कर सकता है (उदाहरण के लिए हाथ से लिखित असेंबली कोड- मिश्रित बहिष्करण तालों के लिए मिश्रित), लेकिन मुझे कोई भी सी ++ 11 पुस्तकालय नहीं पता।
तो आपके पास औपचारिक गारंटी नहीं है, लेकिन व्यवहार में आप आज काफी हैं सुरक्षित (लिनक्स पर)
Comments
Post a Comment