18

threadingモジュールのドキュメントには、次のように書かれています。

acquire()メソッドを持つこのモジュールによって提供されるすべてのオブジェクトは、ステートメントrelease()のコンテキスト マネージャーとして使用できます。withこのacquire()メソッドは、ブロックに入るときにrelease()呼び出され、ブロックから出るときに呼び出されます。

ブロッキング モードと非ブロッキング モードのどちらで呼び出されるのか疑問に思っていました。

4

1 に答える 1

16

CPython sourceを見ると、デフォルトの引数で呼び出されているように見えます。つまり、ブロッキング モードです。

特に注目したいメソッドは、ブロック__enter__()の先頭で呼び出される と、ブロックの最後で呼び出される です。with__exit__()

于 2012-11-08T14:06:18.263 に答える