10

Python 2.6 でスレッド ID または名前を取得しようとしています。例に従いますが、global name 'currentThread' is not defined global name 'current_thread' is not defined のようなエラーが発生します

(currentThreadとcurrent_threadの両方を試しました)

これが私のコードです:

vim f3Q.py
  1 import Queue
  2 from threading import Thread
  3
  4 def do_work(item):
  5         try:
  6                 print current_thread().getName()
  7
  8
  9         except Exception as details:
 10                 print details
 11                 pass
 12         print item*2
 13
 14 def worker():
 15         while True:
 16                 item=q.get()
 17                 do_work(item)
 18                 q.task_done()
 19
 20 q=Queue.Queue()
 21 l=[13,26,77,99,101,4003]
 22 for item in l:
 23         q.put(item)
 24
 25
 26 for i in range (4):
 27         t=Thread(target=worker,name="child"+str(i))
 28         t.daemon=True
 29         t.start()
 30
 31
 32 q.join()
 33

更新: マタがくれたヒントでエラーを修正しました。 current_thread() もインポートする必要がありました。

from threading import Thread,current_thread
4

2 に答える 2