"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > नेट/Http पैकेज आयात करते समय डेडलॉक डिटेक्शन अक्षम क्यों है?

नेट/Http पैकेज आयात करते समय डेडलॉक डिटेक्शन अक्षम क्यों है?

2024-11-08 को प्रकाशित
ब्राउज़ करें:682

Why is Deadlock Detection Disabled When Importing the Net/Http Package?

इस कोड में डेडलॉक त्रुटि क्यों नहीं दी गई है?

प्रदान किया गया कोड नेट/http पैकेज को आयात करता है, जो प्रदर्शन करने वाले गोरआउट्स को आरंभ करता है पृष्ठभूमि मतदान. यह अनजाने में गतिरोध डिटेक्टर को अक्षम कर देता है, अपेक्षित गतिरोध त्रुटि को वापस आने से रोकता है।

इस व्यवहार को समझने के लिए, कोड अंश पर विचार करें:

package main

import (
    "fmt"
    "net/http"
)

func main() {
    var ch = make(chan int)
    ch 

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

यदि आयात हटा दिया गया है:

package main

import "fmt"

func main() {
    var ch = make(chan int)
    ch 

डेडलॉक त्रुटि अब सही ढंग से वापस आ गई है क्योंकि बैकग्राउंड पोलिंग गोरोइन सक्रिय नहीं हैं।

यह व्यवहार GitHub मुद्दे में चर्चा के अनुरूप है: https://github.com/golang /go/issues/12734, जहां यह बताया गया है कि नेट/http पैकेज आयात करने से गतिरोध डिटेक्टर अक्षम हो जाता है।

विज्ञप्ति वक्तव्य यह आलेख यहां पुनर्मुद्रित है: 1729734072 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए स्टडी_गोलंग@163.कॉम से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3