나는 추측하고있다 (또는, 가능하다면 거의 확실하게 내 시간의 가치가 없을 것이다).공유 메모리에 lua_State를 저장할 수 있습니까?
내가 생각하고있는 방식은 offset_ptr
의 자식 객체가 상태에 대한 관련 포인터의 위치를 얻는 데 사용할 수있는 lua_State
을 소유하고있는 미러 객체를 생성하는 것입니다. 실현 가능하지 않다 ... lua_
메소드가 아마 접근 할 수있는 다른 객체가있다. 정확한 주소를 어떻게 전달할 지 모르겠다. ...
추측 나는이 경우에 대해서도 확실한 할당자를 필요로 할 것이다. 지원됩니까?
여기 정확히 목표는 무엇입니까? 나는 따라 가지 않았다. –
나는 처리해야 할 많은 객체 (즉, 업데이트 메소드 호출)와 그 사이에 그렇게하는 작업을 공유하는 작업자 프로세스가 있습니다. 이러한 객체 중 일부는 Lua 스크립트를 호출하여 상태를 저장해야 할 수도 있습니다. 현재 모든 객체를 공유 메모리의 큰 블록에 저장하고 있지만'lua_State' 객체를 포함하는 것은 첫 번째 비 포드 (non-pod) 데이터 구조입니다. (그리고 처음에는 자신을 만들지 않았습니다) w/r/t 공유 메모리 및 그것은 원시 포인터 제한입니다. –
다중 근로자가 동시에 동일한 'lua_State'를 강타 할 수는 없습니까? 뮤텍스와 세마포어 등을 사용하여 액세스를 동기화하지 않는 한 문제가 발생할 가능성이 높습니다. – greatwolf