क्या यह सुनिश्चित करने का कोई तरीका है कि एक goroutine केवल एक विशिष्ट ओएस थ्रेड में ही चलाएगा? उदाहरण के लिए, जब जीयूआई ऑपरेशन जीयूआई थ्रेड में चलाना चाहिए, लेकिन जीयूआई कोड चलाने वाले कई गोरोटाइन हो सकते हैं।उसी थ्रेड में goroutines को मजबूर करना
GOMAXPROCS(1)
तकनीकी रूप से नौकरी करता है, लेकिन यह बहुप्रचार के उद्देश्य को हरा देता है।
LockOSThread()
भी काम करता है, लेकिन यह किसी अन्य गोरौटाइन को उस धागे में भी चलने से रोकता है।
क्या ऐसा करने का कोई तरीका है, या एक ही थ्रेड की आवश्यकता वाले सभी थ्रेडों को भी जरूरी है?
-1 आपका उत्तर "क्या यह सुनिश्चित करने का कोई तरीका है कि एक goroutine केवल एक विशिष्ट ओएस थ्रेड में ही चलाएगा?" क्या "एक गोरौटाइन लिखना है जो जीयूआई थ्रेड में चलता है"? यह मेरी मदद कैसे कर सकता है? –
आपने पहले ही बताया है कि लॉकऑस्टहा्रेड आपको गोरौटाइन को एक विशिष्ट थ्रेड पर लॉक करने देता है। बस जीयूआई धागे के लिए ऐसा करते हैं। –
जो आपको गोरौटाइन को * वर्तमान * थ्रेड पर लॉक करने की अनुमति देता है, न कि मनमाना विशिष्ट थ्रेड के लिए। – robx