摘要:
真正的多线程是具有抢占式和内存共享两个特点,这也是导致多线程同步问题的根本原因。而lua中的线程并不存在这个问题,首先lua的线程的状态并不共享内存,其次lua的线程是协同工作的,并非抢占式的。 主线程:lua_State* L = luaL_newstate() 不仅创建了一个lua状态,还创建了 阅读全文
摘要:
userdata: userdata机制可以让我们在lua中使用c中的自定义数据类型。userdata表示一块动态分配的内存,这块内存就存储的自定义类型的数据,在lua脚本中使用userdata,并配合c提供的函数,就可以操作userdata了。 定义一个player类型: 定义player的所有操 阅读全文
摘要:
1. 注册表 注册表是一个普通的table,我们可以将c函数中需要保存的状态都存储在注册表中,注册表是可以被多个c模块共享的。 由于注册表是一个普通table,我们同样可以在栈中对其进行操作,只是这个table的索引是由一个常量LUA_REGISTRYINDEX进行索引。 如何向注册表中存入一个值对 阅读全文