Thread其他属性和方法

1、查看修改线程名称

currentThread().getName()

from threading import Thread,currentThread
import time

def task():
    print("%s is running" % currentThread().getName())
    time.sleep(2)
    print("%s is done",currentThread().getName())
if __name__ == "__main__":
    t=Thread(target=task)
    t.start()
    print("The main name:",currentThread().getName() )

参数name对线程名称进行修改

from threading import Thread,currentThread
import time

def task():
    print("%s is running" % currentThread().getName())
    time.sleep(2)
    print("%s is done" % currentThread().getName())
if __name__ == "__main__":
    t=Thread(target=task,name="The new Thread")
    t.start()
    print("The main name:",currentThread().getName())

“子”线程设置线程名称:t.setName(NewName)

“主”线程设置线程名称,先拿到主线程,在调用setName方法

from threading import Thread,currentThread
import time
def task():
    print("%s is running" % currentThread().getName())
    time.sleep(2)
    print("%s is done" % currentThread().getName())
if __name__ == "__main__":
    t=Thread(target=task,name="The new Thread")
    t.start()
    t.setName("New Name")
    currentThread().setName("Main new name")
    print("The main name:",currentThread().getName())

2、查看线程是否存活t.isAlive()或者t.is_alive()

from threading import Thread,currentThread
import time
def task():
    print("%s is running" % currentThread().getName())
    time.sleep(2)
    print("%s is done" % currentThread().getName())
if __name__ == "__main__":
    t=Thread(target=task,name="The new Thread")
    t.start()
    # t.is_alive()
    print(t.isAlive())
    print("The main name:",currentThread().getName())

 3、查看线程存活数量active_count

from threading import Thread,currentThread,active_count
import time
def task():
    print("%s is running" % currentThread().getName())
    time.sleep(2)
    print("%s is done" % currentThread().getName())
if __name__ == "__main__":
    t=Thread(target=task,name="The new Thread")
    t.start()
    # t.is_alive()
    print(active_count())

4、拿到活跃的线程对象enumerate

from threading import Thread,currentThread,enumerate
import time
def task():
    print("%s is running" % currentThread().getName())
    time.sleep(2)
    print("%s is done" % currentThread().getName())
if __name__ == "__main__":
    t=Thread(target=task,name="The new Thread")
    t.start()
    print(enumerate())

 

posted @ 2018-05-15 07:51  丫丫625202  阅读(162)  评论(0编辑  收藏  举报