创建互斥体
名称不能超过260个字符,名称内的反斜杠自动替换为正斜杠,
thread.event,process.mutex,fsys.mmap等命名不能相同,
省略名称创建匿名对象,
参数@2指定句柄是否可被子进程继承,为可选参数,默认为false,
可选用参数@3指定是否获取初始所有权,默认为 false,
因为可能同时创建互斥体,不建议将参数@3指定为 true
使用句柄直接打开互斥体
使用句柄直接打开互斥体
添加析构函数负责释放句柄
互斥体
可用于进程间同步
创建或打开互斥体对象,
返回对象可传入其他线程使用。
检查是否已存在参数 @1 指定名称的互斥体。
该函数在多进程中互斥执行
兜底释放当前对象在当前线程显式取得的次数,然后关闭句柄。
经由裸句柄取得的所有权由调用方自行配对释放。
内核对象在最后一个句柄关闭后销毁。
如果互斥体已存在,此属性为真值
否则为空值
线程在处理完共享资源后,
应在离开时调用此函数释放互斥体所有权
阻塞等待并取得所有权,默认无限等待。
参数 @2 可省略,或指定手动复位 thread.event、thread.cancellation.open 返回的观察者、借用事件句柄。
成功返回 true;取消返回 false,"cancelled";超时/失败返回 false,"timeout"或"failed",原生代码。
弃置返回 true,"abandoned",仍已取得所有权,必须配对 release。
只登记本对象实际取得次数;取消不取得、不释放 mutex;多个条件同时就绪时取消优先。
等待期间不得关闭或重置取消事件;取得后才到达的取消由业务层检查。
UI线程应使用 waitOne 处理消息。
处理窗口消息并等待取得所有权,非 UI 与退出消息后仍为 wait-any。
参数与 wait 相同。成功返回 1,取消返回 null,"cancelled",超时/失败返回 null,状态,原生代码。
弃置返回 1,"abandoned",仍须配对 release;其余契约同 wait。
省略取消事件保持原有行为。