1.使用线程
导包 import threading
创建线程对象 线程对象 = threading.Thread(target = 任务名)
target = 任务名 指定函数(方法)
name 线程名,一般不用设置
group 线程组,目前只能使用None
args 元组方式传参 (args=(3,))
kwargs 字典方式传参 (kwargs={"num":3})
启动进程执行任务 线程对象.start()
线程之间执行是无序的,是由CPU调度决定某个线程先执行的
2.进程和线程对比:
关系对比:
1.线程是依附在进程里面的,无进程就无线程
2.一个进程默认提供一个线程,进程可以创建多个线程
区别对比:
1.创建进程的资源开销比创建线程要大
2.进程是资源分配的最小单位,线程是程序执行的最小单位
3.线程不能独立,必须依存在进程中
优缺点:
进程:
优点:可以用多核
缺点: 资源开销大
线程:
优点:资源开销小
缺点: 不能使用多核