एक धागा lua_State
प्रति थ्रेड बनाना लुआ निष्पादन के कई धागे होने का एक अच्छा समाधान है। हालांकि, उन राज्यों बहुत अलग हैं। विशेष रूप से, उनके बीच सुरक्षित रूप से संवाद करना मुश्किल है क्योंकि लुआ एपीआई केवल थ्रेड-सुरक्षित है जब तक कि प्रत्येक lua_State
को एक ही थ्रेड से एक समय में एक्सेस किया जाता है। (ठीक है, जब तक कि lua_lock
और lua_unlock
एक उपयुक्त म्युटेक्स, जो वे lua कोर के बनाता है डिफ़ॉल्ट में नहीं हैं के रूप में लागू कर रहे हैं।)
तो अलगाव के उस स्तर स्वीकार्य नहीं है, तो आप कई में से एक की जांच करने की जरूरत है लूआ को थ्रेडेड प्रक्रिया में दूसरों के साथ अच्छी तरह से खेलने की इजाजत देने के लिए तंत्र।
मेरी पसंदीदा पसंद Lua Lanes है जो संदेशों को पारित करने और थ्रेड-सुरक्षित तरीके से उनके बीच मूल्य साझा करने के लिए एक तंत्र के साथ कई धागे प्रदान करता है। अधिकांश लूआ प्रकारों के मूल्य (userdata
सहित लाइब्रेरी से थोड़ा सी पक्ष समर्थन के साथ) सुरक्षित रूप से और कुशलता से एक लेन से दूसरे में पारित किया जा सकता है।
अन्य तंत्र मौजूद हैं, और उनमें से अधिकांश के लिए एक अच्छा प्रारंभिक बिंदु लुआ उपयोगकर्ता के wiki page on MultiTaksing पर है।