Właściwie używam visual C++, aby spróbować powiązać funkcje lua jako wywołania zwrotne dla zdarzeń gniazda (w innym wątku). Inicjuję rzeczy lua w jednym wątku, a gniazdo jest w innym wątku, więc za każdym razem, gdy gniazdo wysyła/odbiera wiadomość, wywołuje funkcję lua, a funkcja lua określa, co należy zrobić zgodnie ze znacznikiem wewnątrz wiadomość.Czy wywołanie funkcji lua (jako wywołania zwrotnego) z innego wątku jest wystarczająco bezpieczne?
Więc moje pytania to:
Odkąd przechodzą ten sam stan Lua Lua do funkcji, jest to bezpieczne? Czy to nie wymaga jakiejś ochrony? Funkcje lua są wywoływane od innego theada, więc myślę, że mogą być wywołane jednocześnie.
Jeśli to nie jest bezpieczne, jakie jest rozwiązanie tego przypadku?
Czy możesz wyjaśnić różnicę między Luan Lanes i DarkSideSync? DarkSideSync ma małe przykłady i nie wiem jak używać DarkSideSync –
Lanes zapewnia typ danych, Lindas, które mogą być bezpiecznie współdzielone między pasami, asynchronicznymi stanami Lua. DarkSideSync koncentruje się bardziej na powiadamianiu i komunikacji między Lua i asynchronicznymi bibliotekami C. –
Dziękuję Doug. –