python中创建进程的方式
一、Process(target=函数名,args=(),name,kwargs)
target:加进程调用的函数名,一般不加括号
name:进程的名字
kwargs:字典参数
args:元组参数,如果参数就一个,记得加逗号’,’
import threading
import time
from multiprocessing import Process
def sing():
for i in range(1,5):
print('正在场地%d首歌'%i)
time.sleep(0.4)
def dance():
for i in range(1,5):
print('正在跳第%d场舞蹈'%i)
time.sleep(0.4)
if __name__ == '__main__':
p1=Process(target=sing,name='sing')
p2=Process(target=dance,name='dance')
p1.start()
p2.start()
dance()
Python多线程与多进程中join()方法的效果是相同的
join所完成的工作就是线程同步,即主线程任务结束之后,进入阻塞状态,一直等待其他的子线程执行结束之后,主线程再终止
import threading
import time
def run():
time.sleep(2)
print('当前线程的名字是: ', threading.current_thread().name)
time.sleep(2)
start_time = time.time()
print('这是主线程:', threading.current_thread().name)
thread_list = []
for i in range(5):
t = threading.Thread(target=run)
thread_list.append(t)
for t in thread_list:
t.start()
print('主线程结束!' , threading.current_thread().name)
print('一共用时:', time.time()-start_time)
网友评论