mutex

互斥锁类

引用:require("fastweb.mutex")

  • 可作为应用全局变量


⚠️建议搭配auto_lock使用


代码示例:


local mutex = require("fastweb.mutex").new()

require("fastweb.auto_lock").new(mutex)
#此时已自动上锁,al释放后自动解锁


构造函数

mutex()
初始化互斥锁实例


方法概览

返回值 方法及描述
void lock()
加锁
void unlock()
释放锁
bool try_lock()
尝试加锁


方法详细

lock()

描述 加锁。
参数 无。
返回值 void: 无返回值。

示例:

local mtx = mutex.new()
mtx:lock()


unlock()

描述 释放锁。
参数 无。
返回值 void: 无返回值。

示例:

mtx:unlock()


try_lock()

描述 尝试加锁。
参数 无。
返回值 bool: 返回是否成功加锁。

示例:

local success = mtx:try_lock()
print("Lock acquired: ", success)