2011-03-02 6 views
0

나는 게임 엔진의 트리거를 기반으로 루아 코 루틴을 스케쥴하는 루아에 노출 된 C 기반 API를 가지고있다.lua_resume은 항상 lua_yield의 균형을 유지해야합니까?

필자는 lua_resume을 호출하는 lua_Thread 객체 풀을 유지하기 위해 동기 스레드 (파이버)를 사용하여 내 gameloop에서 멀티 태스킹을 수행했습니다.

lua_resume/lua_yield 문서를 다시 읽으면 lua_yield를 호출 할 때마다 스택의 상태 정보가 나올 수 있어야하므로 많은 메모리 누수가 발생합니다.

답변

2

코 루틴은 GC로 올바르게 수집됩니다. (그것에 대한 참조가 없다면 수집 될 것이므로 메모리 누수가 발생할 가능성은 없습니다.) yield(), coroutine을 허용하거나 return을 사용할 수 있습니다. 완성 된 코 루틴을 다시 시작합니다.

관련 문제