Skip to main content

update

Function update 

Source
pub fn update<F>(name: &str, f: F) -> Result<Dynamic>
where F: FnMut(Dynamic) -> Dynamic + Send + 'static,
Expand description

原子并发更新一个节点的值。返回更新后的值。 节点必须已存在,否则返回 Err。 原子并发更新一个 Object 节点的值。返回更新后的值。

警告:闭包 f 在 Memory 后端持有 scc bucket 级写锁(自旋锁,不可重入)期间执行。 闭包内不要再调用任何 ROOT 操作(如 root::get/root::update/root::send_msg), 否则若目标 name 与当前 name 落入同一 hash bucket,会自旋死锁。 闭包应只对传入的 Dynamic 做本地计算与修改。