threadingtest - python threading中的lock rlock 为何rlock可以调用多次acquire
阿神
阿神 2017-04-18 10:31:29
0
2
636

在python的多线程中,使用threading中的lock rlock锁, 为何rlock可以调用多次acquire,lock缺不能,lock调用多次而且会发生死锁,rlock不会,求大神指点下

阿神
阿神

闭关修行中......

全員に返信(2)
黄舟

rlock はリエントラント ロックであり、Acquire には +1 のカウンターがあり、Release には -1 のカウンターがあり、それ以外の場合は例外が発生します。

なぜこれを行うのでしょうか? アプリケーションのシナリオが異なるため、リエントラント ロックはロックを必要とする別のメソッドを呼び出すことができますが、非リエントラント ロックはこれを行うことができません。

リーリー
いいねを押す +0
PHPzhong

lock と rlock の違いは、r:
再入可能であり、スレッドはブロックされずに同じ rlock を複数回取得できます。スレッドが rlock を複数回取得する場合、解放する前に同じ回数だけ解放する必要があります。解放されます。

ロックは異なります。一度のみ取得でき、解放されるまで再度取得することはできません。

詳細については、この回答を参照してください:
http://stackoverflow.com/ques...

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート