3.多进程与多线程

2024-07-06 17:00:29 浏览数 (1)

前面的例子函数都是无参的,那么有参数的调用多线程时如何操作呢?

代码语言: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类
代码语言:Python复制
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)

通过运行结果可以看到除了导包不同,创建的实例化对象不同,思路是一致的。

0 人点赞