前面的例子函数都是无参的,那么有参数的调用多线程时如何操作呢?
代码语言:Python复制from threading import Thread
def function(name):
for i in range(10):
print(name, i)
if __name__ == '__main__':
t1 = Thread(target=function, args=("Zhansan",)) # 传递参数必须是元组
t1.start()
t2 = Thread(target=function, args=("Lisi",))
t2.start()
注意:参数args传入的信息必须是元组形式。
- 多进程在Python的写法和多线程是差不多的,但它背后的逻辑却有很大的不同。多进程对于CPU的开销比多线程要大得多,所以我们还是最常用多线程。
- 导入多进程Process类
from multiprocessing import Process
2.创建示例
代码语言:Python复制def function():
for i in range(10):
print("子进程", i)
if __name__ == '__main__':
p = Process(target=func)
p.start()
for i in range(5):
print("主进程", i)
通过运行结果可以看到除了导包不同,创建的实例化对象不同,思路是一致的。