【问题标题】:Lua Lanes and multi-core support: Can it be done?Lua Lanes 和多核支持:可以做到吗?
【发布时间】:2011-01-28 05:49:44
【问题描述】:
Lua Lanes 表示它通过多线程支持多核。这不正确吗?您不需要使用多个进程来利用多个内核吗? Lua Lanes 会这样做吗?
也许我误解了他们在说什么。这是他们网站上的一段话:
Lua Lanes 是一个 Lua 扩展库,提供了并行运行多个 Lua 状态的可能性。它旨在用于优化多核 CPU 的性能,并研究使 Lua 程序自然并行的方法。
谢谢
【问题讨论】:
标签:
multithreading
lua
multicore
lua-lanes
【解决方案1】:
这取决于操作系统,但大多数当前的操作系统(Windows、Linux/*nix,...)通过线程而不是进程将任务分配到内核/CPU 上。所以一个多线程的进程可以在多核上运行。
Lanes 使用真正的 OS 线程,而不是轻量级的 Lua 线程 - 协程,因此调度程序实际上可以将其分配到多个内核上。
【解决方案2】:
据我所知,它们在一个多线程操作系统进程中运行多台 Lua 机器。他们将 Lindas 用于 Lua 共享数据和 IPC,但这不涉及 OS 级别的 IPC 和其他多进程开销。
请注意,我是在浏览您的链接后得出结论的,而不是在尝试运行车道等之后。我可能完全错了。