-1
以下のコードで何が起こっているのか理解しようとするときに助けが必要です。基本的に私は、ステートメントthreading.active_count()はPythonでどのように動作するかを理解しようとしています:Pythonでスレッドのアクティブな数を調べる際の問題
import threading
import time
def worker(count):
for c in range(count,-1,-1):
threadname = threading.currentThread().getName()
time.sleep(2)
print ("Value of count {} from thread {}".format(c,threadname))
threadcount = threading.active_count()
print ("Threadcount is :",threadcount)
mainthreadname = threading.currentThread().getName()
print ("Starting new thread from main thread:",mainthreadname)
t1 = threading.Thread(target=worker,args=(10,))
t1.start()
time.sleep(5)
print ("main thread exiting!")
ここでの問題は、アクティブなスレッド数を取得するためのラインはラインが保持レンジブロック内にネストされているにもかかわらず、ということですレンジブロックの実行が終了した後でも、アクティブスレッド数が1(メインスレッドだと思います)で実行しています。
基本的に誰かが自分のマシンでそれを実行すると、私が指摘しようとしているものが得られます。
誰かが問題点を指摘してくれますか?
ありがとうございます。
"範囲ブロック"の実行が終了した後、その行が実行を継続すると思いますか? (また、「レンジブロック」などはありません)。 – user2357112