【发布时间】:2015-01-06 03:06:01
【问题描述】:
我需要在IOCP中使用Lua,并使用Thread local Storage来存储lua_State *。我应该在线程销毁之前使用lua_close()销毁lua_State,但是工作线程是由IOCP创建的。
问题是什么时候打电话给lua_close合适?
static DWORD WINAPI work_thread_proc(void* parameter){
lua_State * L = TlsGetValue(tls_lua_key);
if(NULL = L){
L=luaL_newstate();
//DO some initialze for L...
TlsSetValue(tls_lua_key,L);
}
}
//..... other place call
QueueUserWorkItem(&work_thread_proc, req, WT_EXECUTELONGFUNCTION);
【问题讨论】:
标签: lua thread-local iocp