WithLock
WithLock[LocalSymbol["name"],expr]
锁定本地符号 name,计算 expr,然后释放本地符号.
WithLock[var,expr]
锁定共享变量 var,计算 expr,然后释放共享变量.
更多信息和选项
- WithLock 通过创建 File 或 LocalSymbol 来锁定它们. WithLock 通过删除 File 或 LocalSymbol 来释放它们.
- 如果要锁定的对象已经被锁定,WithLock 将等待直到锁定被释放.
- 锁定是原子化的;一个进程最多可以锁定一个对象,从而确保它只计算 expr 的值.
- WithLock 具有属性 HoldAll.
- 可给出以下选项:
-
TimeConstraint Infinity 花多长时间等待等待锁定被释放 ExpirationDate None 锁定何时过期 PersistenceTime Infinity 锁定的有效期 - 如果在 TimeConstraint 给定的时间内无法获取锁定,WithLock 将返回 $TimedOut,同时不对 expr 进行计算.
- 已达到其到期日期或生命周期的锁定将被下一个尝试锁定它的 WithLock 视为已解锁. ExpirationDate 给出绝对过期日期/时间;PersistenceTime 给出相对时间.
- WithLock[var,expr] 使用共享变量在并行子内核之间进行锁定. 相当于 CriticalSection[var,expr].
- 在不同计算机上使用时,锁定文件必须驻留在运行 WithLock 的所有计算机都可用的共享文件系统上.
范例
打开所有单元关闭所有单元
Wolfram Research (2021),WithLock,Wolfram 语言函数,https://reference.wolfram.com/language/ref/WithLock.html.
文本
Wolfram Research (2021),WithLock,Wolfram 语言函数,https://reference.wolfram.com/language/ref/WithLock.html.
CMS
Wolfram 语言. 2021. "WithLock." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/WithLock.html.
APA
Wolfram 语言. (2021). WithLock. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/WithLock.html 年