C 응용 프로그램을 가지고 있고 LUA를 스크립팅 언어로 통합하고 있습니다. Embedding LUA는 문제없이 잘 처리되었습니다.lua_pcall을 비동기로 실행합니다.
현재 C 응용 프로그램에서 2 ~ 3 개의 다른 스크립트를 동시에 실행할 수 있는지 알고 싶습니다. lua_pcall이 동기식으로 실행되고있는 것으로 나타났습니다 (따라서 실행이 완료 될 때까지 반환되지 않습니다. 스크립트
동시에 여러 스크립트를 실행하거나 적어도 lua_pcall을 비동기 적으로 실행할 수있는 방법이 있습니까? 스크립트 자체를 제어 할 수 없기 때문에 스크립트 자체에 솔루션이 필요하지 않습니다. 실행 (고객이 구성을위한 스크립트를 작성하므로 동기화 작업을 스크립트에서 수행해야한다고 말하고 싶지 않습니다.
lua는 단일 스레드입니다. 다중 쓰레드가 필요하다면 여러 개의 lua 상태를 가지고 스스로를 조정해야합니다. 루아 사이드에서이 작업을 수행 할 수있는 다양한 라이브러리가 있습니다. C 측에서이 작업을 수행하려면 각각 자신이 루아 상태 인 다중 스레드를 실행하는 것보다 더 많은 작업이 필요합니다. –
@EtanReisner, C "side"에서 두 개의 다른 스레드를 실행하고 각각에 대해 별도의 Lua 상태를 시작하는 것이 너무 어렵지도 않습니다. – Kamiccolo