进程:不同进程拥有各自的内存空间 线程: 线程属于进程,内存是共享的 操作系统内可以运行多个进程,叫多任务运行 一个进程内可以运行多个线程,叫多线程运行 并行执行:同一时间做不同的工作,线程和进程都可以并行执行 不同的程序同时运行,叫做多任务并行执行 一个进程内多个线程同时运行,叫做多线程并行执行 python 的多线程可以通过 threading 模块来实现
多线程步骤:
# 导入
import threading
# 使用多线程
hread_obj = threading.Thread([group[,target[,name[,args,[,kwargs]]]]])
# 开启多线程
thread_obj.start()
案例:
# 多线程并行执行
import time
import threading
def sing():
while True:
print("唱歌")
time.sleep(1)
def dance():
while True:
print("跳舞")
time.sleep(1)
if __name__ == '__main__':
# sing() # 单线程
# dance() # 单线程
sing_thread = threading.Thread(target=sing) # 多线程
dance_thread = threading.Thread(target=dance) # 多线程
# 让线程干活
sing_thread.start()
dance_thread.start()
传参:args参数通过元组(按参数顺序)的方式传递;或使用kwargs参数用字典的形式传参
import time
import threading
def sing(msg):
while True:
print(msg)
time.sleep(1)
def dance(msg):
while True:
print(msg)
time.sleep(1)
if __name__ == '__main__':
# sing() # 单线程
# dance() # 单线程
sing_thread = threading.Thread(target=sing,args=("hi,hhhhh",)) # 多线程
dance_thread = threading.Thread(target=dance,kwargs={"msg":"hello,hhhhhh"}) # 多线程
# 让线程干活
sing_thread.start()
dance_thread.start()