0
讓我們假設我有一個線程與一個asyncio事件循環和其他線程運行。python asyncio:如何最好地使用鎖定線程?
例如,我可能不得不處理帶鎖機制的線程之間的同步。但是這個鎖可能會阻塞協程......並且沒有其他任務(在asyncio線程中)會同時運行。
解決方案是什麼?我的猜測是,一種會是異步的鎖定原子可以完成這項工作,但據我所知它並不存在。
準確地說:我沒有引用現有的asyncio鎖定原語。
讓我們假設我有一個線程與一個asyncio事件循環和其他線程運行。python asyncio:如何最好地使用鎖定線程?
例如,我可能不得不處理帶鎖機制的線程之間的同步。但是這個鎖可能會阻塞協程......並且沒有其他任務(在asyncio線程中)會同時運行。
解決方案是什麼?我的猜測是,一種會是異步的鎖定原子可以完成這項工作,但據我所知它並不存在。
準確地說:我沒有引用現有的asyncio鎖定原語。
使用loop.run_in_executor在一個線程中運行同步調用:
def synchronous_function():
with synchronous_lock:
# Do something
async def asynchronous_function():
await loop.run_in_executor(None, synchronous_function)
我們當然需要一個例子。現在還不清楚爲什麼混合線程和asyncio;你要鎖定什麼? –