The lua is synchronous. However multiple threads can call into the c++ hook dispatching code, which has to ensure that only one thread calls into lua at once. More complex dispatching code would have to have more complex synchronization.
If you want to implement it go ahead.
If you want to implement it go ahead.