domain_value
基础说明
domain_value 是一个用于在指定域持有一个值的容器。任何对 domain_value 中储存值的访问操作,都需要在指定的域内完成。
从使用目的来说,domain_value 类似 share_value,都用于储 存一个允许在不同域中有限制地共享的值。但 domain_value 为 开发者提供了一条不需要额外复制来访问共享值的方式——只需要 在指定的域内访问 domain_value 即可。
用法示例
// 基础用法
domain_value dv = domain_value.allocate("example", [1, "hello", nil]);
// 在当前域访问 domain_value 的值
mixed value = dv.get_raw(); // 获取值
// 在当前域设置 domain_value 的值
dv.set_raw([2, "world", nil]); // 设置值
// 在当前域执行一个函数,传入 domain_value 的值
mixed result = dv.lock_do((mixed val) { return val[0]; }); // 返回第一个元素
// 释放 domain_value
domain_value.free(dv); // 关闭 domain_value