Module xwos.lock.mtx

XWLUA模块:互斥锁

互斥锁是用来保证不同线程正确访问共享数据的机制。访问共享数据的代码片段被称为临界区。

互斥锁 不可 用在 除线程以外 的其他上下文(Context)。

等待互斥锁的线程会被阻塞,并让出CPU的使用权。

to-be-closed 特性

to-be-closed 特性是 Lua-5.4 新引入的特性。拥有 to-be-closed 特性的变量,在离开其作用域时,会自动被 关闭关闭 的行为是由元方法 __close() 来定义的。

XWLUA的互斥锁对象强指针具有 to-be-closed 特性,并提供了 Scope Lock 模式 。 当互斥锁对象强指针离开作用域时,会自动解锁关联的互斥锁。

可重入锁

XWLUA的互斥锁是可重入锁,同一个Lua线程可以反复上锁,但也需要同样次数的解锁才能将锁解开。

Functions

new () 新建互斥锁


Functions

new ()
新建互斥锁

Returns:

    userdata 新的互斥锁对象的强指针 mtxsp

Usage:

    mymtx = xwos.mtx.new()
generated by LDoc 1.5.0 Last updated 2024-12-17 12:17:46