En un rastreador de subprocesos múltiples, a veces encontrará errores, manejará excepciones y querrá registrar a qué página está rastreando actualmente. La cantidad de páginas grabadas se comparte en un solo hilo y no se puede usar como una variable global
Hay un método en el subproceso múltiple de python3, threading.currentThread () se usa para registrar el valor de las variables en el método,
threading.currentThread (). page representa el parámetro de page en el proceso
Solo es necesario lanzar la variable actual en el manejo de excepciones
import time
import threading
exitFlag = 0
class myThread (threading.Thread):
def __init__(self, threadID, name, page):
threading.Thread.__init__(self)
self.threadID = threadID
self.name = name
self.page = page
def run(self):
self.page = room(self.page)
self.page = room(self.page)
print ("开启线程:" + self.name)
print(threading.currentThread().page)
print ("退出线程:" + self.name)
def room(page):
try:
page = page+1
s
except Exception as e:
return page
else:
pass
finally:
pass
threadList = ["进程-1", "进程-2", "进程-3"]
threads = []
threadID = 1
# 创建新线程
for tName in threadList:
thread = myThread(threadID, tName,5)
thread.start()
threads.append(thread)
threadID += 1
for t in threads:
t.join()
print ("退出主线程")
Ejecuta el resultado final
开启线程:进程-1
7
退出线程:进程-1
开启线程:进程-2
7
退出线程:进程-2
开启线程:进程-3
7
退出线程:进程-3
退出主线程