
スレッドを好きになろう
がっかりしないでスレッドを使う
一般的に、
execute_slowly
関数が完了するのを
30
秒待つことが、致命的なエラー
だとは思いませんが、待っているユーザは何が起こったのかと思うでしょう。
execute_slowly
が処理を行っている間にアプリケーションの実行を続けるには、
Tread
を作成して
execute_slowly
を同時に実行します。通常の関数呼び出しを再
度下に示します。また、関数をスレッドで呼び出すように要求するコードも一緒に示し
ます。
execute_slowly(glacial, plodding, leaden)
from threading import Thread
...
t = Thread(target=execute_slowly, args=(glacial, plodding, leaden))
確かにここでは
Thread
を普通とは少し違う形で使っている感じがしますが、そうで
もありません。ここでの動作を理解するための鍵は、
Thread
オブジェクトが変数(この
例では
t
)に代入されていて、
execute_slowly
関数はまだ実行されていないことで
す。
Thread
オブジェクトを
t
に代入して実行の準備をします。スレッドで
execute_
slowly
を実行させるには、次のようにします。
t.start()
この時点で、
t.start
を呼び出したコードは実行を続けます。
execute_slowly
の 実 行 は 人 間 で は な