ロック
リストや辞書などの Python の組み込みデータ構造はスレッドセーフですが、整数や浮動小数点数などの単純なデータ型を操作するには、ロックを使用する必要があります。
実行結果:
別の例:
実行結果:
Acquire() は、ロックが取得されたかどうかを確認するために False 値を渡します。例:
実行結果:
スレッドセーフロック
再入可能なロックオブジェクトを返します。再入可能なロックは、それを取得したスレッドによって解放される必要があります。スレッドがリエントラント ロックを取得すると、同じスレッドはブロックせずに再度そのロックを取得でき、取得後に解放する必要があります。
通常、スレッドはロックを 1 回だけ取得できます。
実行結果:
RLock を使用して複数のロックを取得します:
実行結果:
別の例を見てみましょう:
実行結果: