bokeh.document.locking#
- class UnlockedDocumentProxy(doc: Document)[source]#
包装 Document 对象,以便仅公开可以在未锁定回调或线程中安全使用的函数。尝试以其他方式访问或更改 Document 将导致异常。
- add_next_tick_callback(callback: Callback) NextTickCallback [source]#
添加“下一刻”回调。
- 参数:
callback (callable)
- remove_next_tick_callback(callback: NextTickCallback) None [source]#
移除“下一刻”回调。
- 参数:
callback (callable)
- without_document_lock(func: F) NoLockCallback[F] [source]#
包装回调函数,使其在不先获取文档锁的情况下执行。
- 参数:
func (callable) – 要包装的函数
- 返回:
一个被包装的函数,在没有
Document
锁的情况下执行。- 返回类型:
callable
在未锁定的回调内部,修改
curdoc()
是完全不安全的。回调内部curdoc()
的值将是Document
的一个特殊包装版本,它只允许安全操作,即只有这些可以在不获取文档锁的情况下安全使用。要对文档进行其他更改,必须添加一个下一刻回调,并在第二个回调中对
curdoc()
进行更改。尝试以其他方式访问或更改 Document 将导致引发异常。
func
可以是同步函数、异步函数或用asyncio.coroutine
装饰的函数。如果func
是后两者中的任何一个,则返回的函数将是异步函数。