如何编写多线程的lua脚本或让多个脚本在c++程序中一起运行

我有一个c++程序。它包含多个函数,在c++中运行良好。 现在我想编写一个嵌入式的lua/c++程序来帮助测试人员(有时他们不懂编程)测试这些功能。它不仅包含不同函数的排列组合,还将使用多线程。例如,将函数称为ABCD,或BACD,DCBA……序列是不确定的。他们需要针对每个函数调整参数。 有时候,需要同时运行两个或更多线程。

每个lua脚本都包含一个无限循环,我想同时运行它们。我该怎么做?

lua_State *L;
L = luaL_newstate();
luaopen_base(L);
luaL_setfuncs(L, mylib, 0);
luaL_dofile(L, "test1.lua");  // 开始线程1
luaL_dofile(L, "test2.lua");  // 开始线程2

return 0;
点赞