Android-Lua icon indicating copy to clipboard operation
Android-Lua copied to clipboard

请问如何正确实现sleep延时效果

Open Gnakkk opened this issue 3 years ago • 2 comments

JavaFunction sleep = new JavaFunction(L) {
                @Override
                public int execute() throws LuaException {
                    int time = L.toInteger(2);
                    try {
                        Thread.sleep(time);
                    }catch (Exception e){
                        e.printStackTrace();
                    }
                    return 1; 
                }
            };
            sleep.register("sleep");

例子: print(1) sleep(6000) print(2)

问题:sleep()和print等函数一起使用时,延时6秒后才同时打印出1和2(而不是先打1过6秒后打2) 有什么好方法吗?

Gnakkk avatar May 14 '21 21:05 Gnakkk

lua 没有 sleep 的完美方案。我也是苦恼了很久。一个变通办法是利用 callback,具体代码见 demo 里的 callback。

谁有更好的方案欢迎补充~

ichenhe avatar Oct 09 '21 12:10 ichenhe

有没有可能,我是说可能, 你在sleep之前,先flush一下print的缓冲区就行了呢?

bamboo98 avatar Mar 21 '22 11:03 bamboo98