99偷拍视频精品区一区二,口述久久久久久久久久久久,国产精品夫妇激情啪发布,成人永久免费网站在线观看,国产精品高清免费在线,青青草在线观看视频观看,久久久久久国产一区,天天婷婷久久18禁,日韩动漫av在线播放直播

在python里協(xié)程使用同步鎖Lock的實例-創(chuàng)新互聯(lián)

盡管asyncio庫是使用單線程來實現(xiàn)協(xié)程的,但是它還是并發(fā)的,亂序執(zhí)行的。可以說是單線程的調度系統(tǒng),并且由于執(zhí)行時有延時或者I/O中斷等因素,每個協(xié)程如果同步時,還是得使用一些同步對象來實現(xiàn)。

成都網絡公司-成都網站建設公司創(chuàng)新互聯(lián)10年經驗成就非凡,專業(yè)從事成都做網站、網站設計,成都網頁設計,成都網頁制作,軟文發(fā)布平臺廣告投放等。10年來已成功提供全面的成都網站建設方案,打造行業(yè)特色的成都網站建設案例,建站熱線:18982081108,我們期待您的來電!

比如asyncio就定義了一個鎖對象Lock,它一次只允許一個協(xié)程來訪問共享的資源,如果多協(xié)程想訪問就會阻塞起來,也就是說如果一個協(xié)程沒有釋放這個鎖,別的協(xié)程是沒有辦法訪問共享的資源。

例子:

import asyncio
import functools
 
 
def unlock(lock):
  print('callback releasing lock')
  lock.release()
 
 
async def coro1(lock):
  print('coro1 waiting for the lock')
  with await lock:
    print('coro1 acquired lock')
  print('coro1 released lock')
 
 
async def coro2(lock):
  print('coro2 waiting for the lock')
  await lock
  try:
    print('coro2 acquired lock')
  finally:
    print('coro2 released lock')
    lock.release()
 
 
async def main(loop):
  # Create and acquire a shared lock.
  lock = asyncio.Lock()
  print('acquiring the lock before starting coroutines')
  await lock.acquire()
  print('lock acquired: {}'.format(lock.locked()))
 
  # Schedule a callback to unlock the lock.
  loop.call_later(0.1, functools.partial(unlock, lock))
 
  # Run the coroutines that want to use the lock.
  print('waiting for coroutines')
  await asyncio.wait([coro1(lock), coro2(lock)]),
 
 
event_loop = asyncio.get_event_loop()
try:
  event_loop.run_until_complete(main(event_loop))
finally:
  event_loop.close()

名稱欄目:在python里協(xié)程使用同步鎖Lock的實例-創(chuàng)新互聯(lián)
網址分享:http://www.yijiale78.com/article28/idijp.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供面包屑導航ChatGPT品牌網站制作標簽優(yōu)化手機網站建設電子商務

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網站建設