Compartir variables en un solo hilo en Python3 multihilo

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
退出主线程

 

Supongo que te gusta

Origin blog.csdn.net/lows_H/article/details/103158224
Recomendado
Clasificación