2015-08-11 6 views
6

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

+1

इसमें थ्रेड-लोकल नहीं है। एक विकल्प प्रति अनुरोध अनुरोध पास करना है; [गोरिल्ला] (http://www.gorillatoolkit.org/pkg/context) और [Google ऐप इंजन] (https://cloud.google.com/appengine/docs/go/reference#Context) में यह है। और हाँ, आप इसे कई कार्यों के माध्यम से पारित करने की आवश्यकता समाप्त कर सकते हैं। – twotwotwo

उत्तर

6

गो रनटाइम और मानक पुस्तकालय गोरौटाइन स्थानीय भंडारण या गोरौटाइन पहचानकर्ता प्रदान नहीं करते हैं जिसका उपयोग गोरौटीन स्थानीय भंडारण को लागू करने के लिए किया जा सकता है।

तीसरी पार्टी gls पैकेज एक दिलचस्प तरीके से गोरौटाइन स्थानीय भंडारण लागू करता है। कुछ इस पैकेज को भयावह पाते हैं और दूसरों को लगता है कि यह चालाक है।

गो टीम गोरौटाइन स्थानीय भंडारण का उपयोग करने के बजाय स्पष्ट रूप से कार्य तर्क के रूप में संदर्भ पारित करने की सिफारिश करती है। अधिक जानकारी के लिए context blog post और package documentation देखें।

+0

मुझे gls मिलते हैं, लेकिन मुझे अभी भी इसके साथ कोड बदलने की जरूरत है। ऐसा लगता है कि मेरे कार्य को बदलने के बिना इसे करने का कोई तरीका नहीं है। – modkzs

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