使用`args`参数传递参数
import threading
def my_thread_func(arg1, arg2):
print("Thread function with arguments:", arg1, arg2)
t = threading.Thread(target=my_thread_func, args=("Hello", "World"))
t.start()
使用`target`参数指定函数,并通过`args`传递参数列表
import threading
def worker(num):
print("Worker %d is running" % num)
threads = []
for i in range(5):
t = threading.Thread(target=worker, args=(i,))
threads.append(t)
t.start()
使用`kwargs`参数传递关键字参数
import threading
def worker(kwargs):
print("Worker with arguments:", kwargs)
threads = []
for i in range(5):
t = threading.Thread(target=worker, kwargs={"num": i})
threads.append(t)
t.start()
使用`Queue`进行消息传递
import threading
import queue
def producer(q):
q.put("Hello")
q.put("World")
def consumer(q):
while not q.empty():
print(q.get())
q = queue.Queue()
t1 = threading.Thread(target=producer, args=(q,))
t2 = threading.Thread(target=consumer, args=(q,))
t1.start()
t2.start()
t1.join()
t2.join()
请注意,在使用`Queue`时,需要确保队列的大小不会导致内存溢出。
以上是Python中传递多线程参数的一些常见方法。您可以根据具体需求选择合适的方法