2011-06-09 11 views
6

डेडलॉक्स के कई बार सुनें, लेकिन मल्टीथ्रेड प्रोग्रामिंग के संदर्भ में ड्रेडलॉक क्या है?"ड्रेडलॉक" क्या है? ("आर" नोट करें)

अद्यतन:IAbstract's answer एक श्वेतपत्र जो एल्गोरिथ्म dreadlock (एक उत्पाद नहीं ऐसा लगता है) का नाम बताते हैं करने के लिए लिंक। यह अवधारणा को पूरी तरह से कवर करता है। हालांकि, संक्षेप में संक्षेप में सारांशित करें कि यह क्या है:

डेडलॉक्स का पता लगाने का एक आम तरीका यह है कि कौन से धागे लॉक कर रहे हैं, इस संसाधन को ट्रैक करना है। यह मूल रूप से थ्रेड-टू-रिसोर्स ग्राफ उत्पन्न करता है, और जब इस ग्राफ में एक चक्र प्रकट होता है तो एक डेडलॉक हुआ है। इस विधि को स्पिन-लॉक के रूप में जाना जाता है और यह महंगा होने के लिए भी जाना जाता है, इसलिए सरल लॉकिंग-टाइमआउट जैसे अधिक कुशल विकल्प भी आमतौर पर उपयोग किए जाते हैं। लॉकिंग चक्रों का ट्रैक रखने के लिए आवश्यक डेटा की मात्रा को कम करके, ड्रेडलॉक एल्गोरिदम नियमित स्पिन-लॉक एल्गोरिदम में अप्रभावीता का समाधान प्रतीत होता है।

+6

शायद यह (Google के माध्यम से पाया गया): http://www.cl.cam.ac.uk/~ejk39/papers/dreadlocks-spaa08.pdf –

+2

@ फ़ेलिक्स: चीयर्स, उत्तर के लिए एक अच्छा उम्मीदवार हो सकता है * संकेत * :-) – sharkin

+6

मुझे लगता है कि यह deadlocks होने का डर है ... – Abizern

उत्तर

3

Dreadlock looks like a new product या टूलसेट जो आप डेडलॉक्स खोजने या पहचानने के लिए उपयोग कर सकते हैं (हालांकि, जब तक कोई होता है, तो आप डरावने डेडलॉक को शाप देंगे)। (फ़ेलिक्स क्लिंग द्वारा प्रदान किया गया लिंक)

0

जब कोई प्रक्रिया किसी संसाधन के लिए अनुरोध कर रही है और वह संसाधन किसी अन्य प्रतीक्षा प्रक्रिया द्वारा आयोजित किया जाता है और प्रक्रिया कभी भी इसकी स्थिति को बदलने में सक्षम नहीं होती है, तो स्थिति को डेडलॉक कहा जाता है।

+0

हां, क्यू डेडलॉक्स के बारे में नहीं है – sharkin

संबंधित मुद्दे