在Corona/Lua中有没有可能以任何方式利用移动设备上的多个核心?

在 Corona/Lua 中是否有可能利用移动设备上的多核心处理器? 是否可以在另一个“线程”中进行计算(我有很多无法轻松优化的计算)?

点赞
用户312586
用户312586

不行。至少目前来看,Corona是单线程的。

我想你可以尝试使用Corona企业版与本地的iOS和Java进行连接,但你需要“自己调制东西”。

2014-10-24 10:41:45
用户2895078
用户2895078

你甚至可以在 Corona 中使用协程:

举个例子,将下述代码放在你的 main.lua 文件中的任何位置:

co = coroutine.create(function ()
           print("hi")
         end)

print (co)

coroutine.resume(co)

参考链接:

http://www.lua.org/pil/9.html

http://www.lua.org/pil/9.1.html

2014-10-24 18:14:29
用户869951
用户869951

简短回答是,在 Corona 中似乎没有这样做的方法,但其他答案部分错误或不完整:

  • Corona 本身是单线程的。因此,你有两个主要选择:协程和 Lua Lanes。
    1. 协程都在同一个线程中运行(所以是单核),但当任务可以细分为小的工作块时,它们非常有用,那么多个任务似乎可以并行运行。
    2. Lanes 使用本地线程,如果可能的话,操作系统会在多个核上运行它们。然而,目前似乎 Corona 不支持 Lua Lanes。
2014-10-25 17:02:38