aardio 文档

process.mutex 库模块帮助文档

process 成员列表 #

process.mutex("唯一名称",句柄是否可继承,获取初始所有权) #

创建互斥体
名称不能超过260个字符,名称内的反斜杠自动替换为正斜杠,
thread.event,process.mutex,fsys.mmap等命名不能相同,
省略名称创建匿名对象,
参数@2指定句柄是否可被子进程继承,为可选参数,默认为false,
可选用参数@3指定是否获取初始所有权,默认为 false,
因为可能同时创建互斥体,不建议将参数@3指定为 true

process.mutex() #

返回对象:mutexObject

process.mutex(互斥体句柄) #

使用句柄直接打开互斥体

process.mutex(互斥体句柄,true) #

使用句柄直接打开互斥体
添加析构函数负责释放句柄

process.mutex 成员列表 #

互斥体
可用于进程间同步

创建或打开互斥体对象,
返回对象可传入其他线程使用。

process.mutex.lock("互斥体名称",回调函数) #

该函数在多进程中互斥执行

mutexObject 成员列表 #

mutexObject.close() #

关闭互斥体句柄
该函数并不关闭互斥体创建的内核对象
当所有引用内核对象的对象关闭,内核对象自动释放

mutexObject.conflict #

如果互斥体已存在,此属性为真值
否则为空值

mutexObject.release() #

线程在处理完共享资源后,
应在离开时调用此函数释放互斥体所有权

mutexObject.wait() #

等待并获取互斥体独占所有权,
可选增加一个参数指定超时,以毫秒为单位
注意此函数应与release函数配对使用
在同一线程中可多次取得所有权,但需要相同次数调用release函数释放
在UI线程中应使用非阻塞的waitOne()函数替代

mutexObject.waitOne() #

等待并获取互斥体独占所有权,
可选增加一个参数指定超时,以毫秒为单位
注意此函数应与release函数配对使用
在同一线程中可多次取得所有权,但需要相同次数调用release函数释放

Markdown 格式