一次性协作式取消
手动复位事件;取消后持续有信号,不提供 reset/pulse。不是强杀线程或任务清理器。
创建新的取消源,失败返回 null,错误信息。
每个任务一个新源;源必须保留到所有 worker 结束。仅 token 描述符可跨线程/进程传递。
凭描述符请求取消,可跨进程调用;只打开、不创建。
成功返回 true;失败返回 null,错误信息,可选系统代码。重复取消安全,不等于任务已经结束。
返回对象:cancellationObserverObject
只打开已有取消事件,返回只读观察者;失败返回 null,错误信息,可选系统代码。
绝不重建已失效的令牌;观察者持独立不可继承 SYNCHRONIZE 句柄。使用后调用 close。
关闭观察者自有句柄,handle 设为 null;可重复调用,也由 GC 兜底。
借用的只读等待句柄,可传给多句柄等待;不得自行关闭。
也可直接把观察者传给 mutex.wait(timeout,observer) 或 waitOne。
非阻塞检查:已取消 true,未取消 false,失败 null,状态,原生代码。
不要把检查失败当成未取消;关闭后检查会失败。
阻塞等待取消信号,默认无限;返回值同 thread.wait。
成功 true 代表收到取消请求,不表示业务已经结束;超时 false,"timeout",258。
处理窗口消息等待取消,返回值同 thread.waitOne;成功返回 1。
worker 使用 wait 或 waitOne 均可;等待期间不得关闭观察者。
请求取消,重复调用安全;不释放 source,不等待 worker。
成功返回 true,关闭后返回 null,错误信息。
关闭源的自有句柄;可重复调用,也由 GC 兜底。
不是 cancel;仍存活的观察者继续有效;所有引用关闭后旧 token 失效。
可序列化的表 {schema=1;eventName="事件名称"}。
可 JSON 编解码,不要修改;不包含句柄,不延长事件寿命。