Besorg dir "Lua Programming Gems", erstes Kapitel
Im Grunde kannste das halten wie du willst, du kannst einen Lua-Kontext pro Thread separat anlegen - das ist die üblichste Methode. Wichtig wird die Frage an den Stellen wo sich Aufgaben überschneiden und du synchronisieren mußt. Das kann aber dann in deinen C-Routinen passieren und muß ja nicht zwangsläufig im (vermutlich unabhängigen) Lua-Code passieren.
Lua wird übrigens
nicht LUA geschrieben, da es ein Wort (portugiesisch für Mond) und nicht eine Abkürzung ist.
Übrigens: schau dir auch LuaJIT an.
Noch eins: wieso muß es eine Methode sein um es synchronisieren zu können. Ich ahne du benutzt die unsägliche TThread-Klasse, richtig?