|
|
1
20
不,那就行了。所有解释器状态都独立于每个Lua实例中。我甚至会说这是在多线程和/或进程中使用Lua的首选方法。 如果您最终发现确实需要在Lua状态之间进行通信,那么最好是序列化数据并使用C API传递它。我建议阅读 Exploring Lua for Concurrent Programming 白皮书。它介绍了一种使用多个Lua的方法 processes 具有 message passing 对于 inter-process communication . |
|
|
2
6
创建单个
如果这一级别的隔离不可接受,那么您需要研究几种机制中的一种,以允许Lua实例在线程过程中与其他实例一起工作良好。
我最喜欢的选择是
Lua Lanes
它为多个线程提供了一种机制,用于以线程安全的方式在消息之间传递和共享值。大多数lua类型的值(包括
还存在其他机制,其中大多数机制的一个良好起点是在Lua用户的 wiki page on MultiTaksing . |
|
|
3
3
你很好,只要你 不要尝试在Lua实例之间传递值 不需要先将它们转换为C。例如,在实例之间共享可变表几乎是不可能的。 您所要求的听起来很简单,但并不一定比运行多个进程更有用,每个进程都有自己的lua和自己的地址空间。 |
|
|
user107586 · 如何处理等待句柄不会导致无限循环? 1 年前 |
|
|
ron burgundy · 获取-释放语义是否跨线程传递?[副本] 1 年前 |
|
|
BenjiFB · C#内存缓存:在一次操作中追加到列表? 1 年前 |
|
|
András Takács · Python多线程问题 1 年前 |
|
|
András Takács · Python多线程错误 1 年前 |