2011-06-20 12 views
4

私が知っているように、私は各スレッドのためにLua VMを作ることができます。しかし、スレッド内の複数のインスタンスについてはわかりません。これは可能ですか?複数のLua VMを1つのスレッドで作成できますか?

+1

技術的には、VMを作成せずに、VMを実行するための状態と実行コンテキストを作成します。 – Necrolis

答えて

0

複数の状態を作成できますが、スレッドまたは複数のプロセスがない場合は、一度に1つしか実行できません。また、Luaのコアの状態間で通信することはできません。したがって、自分自身で作成するか、同期や国家間の通信を行うライブラリを見つける必要があります。

+0

*一度に1つしか実行できない*の意味は何ですか?これは複数インスタンスが可能であることを意味しますが、スレッド内で同時実行はできませんか? – Eonil

+1

プログラムからLuaコードを実行すると、他の関数と同様に結果を得るまで実行されます。同じ規則を適用して、これを同時に実行して、同時にどの関数を実行する場合でも適用します。 – BMitch

6

はい、作成機能を繰り返し呼び出すことができます。

+0

複数のVMがスレッド内で分離して同時に動作できることを意味しますか? – Eonil

+1

複数のVMをホストするsignleスレッドでは、同時に実行されるのではなく、共同して実行されます。あなた自身のスケジューラを実装するか、http://kotisivu.dnainternet.net/askok/bin/lanes/のようなものを使用する必要があります。 – sylvanaar

0

==演算子を使用する2つのオブジェクト参照を、同じオブジェクトへの両方の参照がtrueの場合にのみ比較します。

関連する問題