Python 命名线程
线程的名称仅用于标识目的,并且在语义上没有任何作用。多个线程可以有相同的名称。线程名称可以作为线程()构造函数中的一个参数来指定。
thread(name)
这里, name 是线程的名称。默认情况下,会构建一个唯一的名称,比如 “Thread-N”。
线程对象还有一个属性对象,用于获取和设置线程的名称属性的方法。
thread.name = "Thread-1"
守护线程
一个布尔值,指示该线程是否为守护线程(True)或非守护线程(False)。在调用start()之前必须设置。
示例
要使用线程模块实现一个新的线程,你需要进行以下操作 –
- 定义一个Thread类的新子类。
-
重写
__init__(self [,args])
方法以添加其他参数。 -
然后,重写run(self [,args])方法以在启动时实现线程应该执行的操作。
一旦你创建了新的Thread子类,你可以创建它的实例,然后通过调用start()来启动一个新线程,它会调用run()方法。
import threading
import time
class myThread (threading.Thread):
def __init__(self, name):
threading.Thread.__init__(self)
self.name = name
def run(self):
print ("Starting " + self.name)
for count in range(1,6):
time.sleep(5)
print ("Thread name: {} Count: {}".format ( self.name, count ))
print ("Exiting " + self.name)
# Create new threads
thread1 = myThread("Thread-1")
thread2 = myThread("Thread-2")
# Start new Threads
thread1.start()
thread2.start()
thread1.join()
thread2.join()
print ("Exiting Main Thread")
它将产生以下 输出 -
Starting Thread-1
Starting Thread-2
Thread name: Thread-1 Count: 1
Thread name: Thread-2 Count: 1
Thread name: Thread-1 Count: 2
Thread name: Thread-2 Count: 2
Thread name: Thread-1 Count: 3
Thread name: Thread-2 Count: 3
Thread name: Thread-1 Count: 4
Thread name: Thread-2 Count: 4
Thread name: Thread-1 Count: 5
Exiting Thread-1
Thread name: Thread-2 Count: 5
Exiting Thread-2
Exiting Main Thread