c++ - 从另一个线程中断 c++ 中的 lua 脚本?

标签 c++ c multithreading lua

我目前正在用 C++ 包装一个 lua 类,到目前为止进展顺利。但我想知道是否有某种方法可以阻止 lua 脚本为另一个线程运行(可能在脚本中间)。所以如果我在线程 1 上运行我的 lua 脚本,我可以从线程 2 中中断它吗? lua_close(...) 会那样做吗?

谢谢。

最佳答案

如果这是预期的发生,并且 Lua 脚本的大部分时间都花在 Lua 函数内(即,不冗长,阻塞 C 调用),您可以安装一个调试 Hook ,每隔 N 条指令检查一次“中断标志”,并且中止脚本。请参阅 Programming in Lua 的“调试库”部分.

关于c++ - 从另一个线程中断 c++ 中的 lua 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9135200/

相关文章:

c++ - 为什么这个模板类没有编译?

java - Guava 中的 ListenableFuture 将在哪个线程中调用 FutureCallback?

java - 哪种线程实现方式最有利?

multithreading - 如何在 groovy 中使用多线程访问 1000 个端点?

c++ - 在没有序列化库的情况下,在 c++ 中从结构读取数据和从文件写入数据的最简单方法是什么?

c++ - 使用折叠表达式填充数组时的语法问题

c++ - 我可以在 std::function 模板签名类型参数中使用命名参数吗?

C 使用 write(2) 检查 fd 是否打开

c - 如何返回一个 char 数组并在 main 中打印它?

c# - 对于此 C 代码,哪种编码方式是正确的?