一、概念
1、进程是计算机中资源分配的最小单元
2、一个进程中可以有多个进程,同一个进程中的线程共享资源
3、python中通过进程可以利用CPU多核优势,计算密集型操作适合使用多进程
二、案例一
1、单进程
单进程执行,先吃完饭,再睡觉
import time
def eat():
for i in range(10):
print("吃饭")
time.sleep(1)
print("吃完饭了")
def sleep():
for i in range(10):
print("睡觉")
time.sleep(1)
print("睡醒了")
if __name__ == '__main__':
eat()
sleep()
2、多进程
多进程执行,吃饭和睡觉交替执行
import time
import multiprocessing
def eat():
for i in range(10):
print("吃饭")
time.sleep(1)
print("吃完饭了")
def sleep():
for i in range(10):
print("睡觉")
time.sleep(1)
print("睡醒了")
if __name__ == '__main__':
pro1 = multiprocessing.Process(target=eat)
pro1.start()
pro2 = multiprocessing.Process(target=sleep)
pro2.start()
三、案例二
import threading
import time
#单线程实现
def demo(start,end):
num = 0
for i in range(start,end):
num += i
return num
#多线程实现
def test_01():
#拆分成2段进执行
th1 = threading.Thread(target=demo,args=(1,50000000))
th1.start()
th2 = threading.Thread(target=demo,args=(50000000,100000000))
th2.start()
if __name__ == '__main__':
start = time.time()
#单线程执行
demo(1,100000000)
#多线程执行
# test_01()
end = time.time()
print(end-start)
欢迎来到testingpai.com!
注册 关于