【发布时间】:2011-11-22 06:06:18
【问题描述】:
我打算使用 LuaJava 在我的 Java/Android 应用程序中运行脚本。
- 当我运行 Lua 脚本时,它是否在另一个线程中执行?
- 如何管理 Lua 代码的执行,我如何知道脚本已完成执行? 如果我希望我的 Java 程序等待 Lua 代码完成,我该怎么办?
我的第一个猜测是使用一些信号量并从 Lua 调用 Java 回调。我该如何以正确的方式做到这一点?
更新代码
Java:
LoadScript(final String filename) {
this.luaState = LuaStateFactory.newLuaState();
this.luaState.openLibs();
this.luaState.LdoFile(filename);//launch Lua script to print lines
printLines();// print Java lines
}
void printLines(){
for(int i=0;i<100;i++)
System.out.println("From java: "+i);
}
卢阿:
for i=0,100
do
print("From lua: ",i)
end
在控制台中,我看到 Java 先打印它的字符串,然后 Lua 才打印。
【问题讨论】: