from multiprocessing import Process
def func():
print(12345)
if __name__ == '__main__':
#启动主进程
p = Process(target=func) # 注册 p 是一个进程对象
p.start()
print('*'*10)
# ****** 12345 同时执行 不一定谁快谁慢
import time
from multiprocessing import Process
def func(arg1,arg2):
print('*'*arg1)
time.sleep(5)
print('*'*arg2)
p = Process(target=func,args=(10,20))
p.start()
p.join() #异步变成同步了;子进程结束
print('=======:运行完了')
from multiprocessing import Process
import os
class MyProcess(Process):
def run(self):
print(os.getpid())
print('主进程',os.getpid())
p1 = MyProcess()
p1.start()
p2 = MyProcess()
p2.start()
def func():
while True:
time.sleep(0.5)
print('我很好') #子进程
def func2():
while True:
print('in func2')
time.sleep(8)
print('in func2 finished')
if __name__ == '__main__':
p = Process(target= func)
p.daemon = True #设置子进程为守护进程
p.start()
Process(target=func2).start()
i = 0
while i<5:
print('socket sever')
time.sleep(5)
i += 1
#守护进程随着主进程 代码执行完成结束 而不是主进程结束;
multiprocess.Lock #只有一把锁
from multiprocessing import Process,Semaphore
import time
import random
def ktv(i):
sem.acquire()
print('%s走进ktv'%i)
time.sleep(random.randint(1,5))
print('%s走出ktv'%i)
sem.release()
sem = Semaphore(4)
for i in range(20):
p = Process(target=ktv,args=(i,))
p.start()
原文:https://www.cnblogs.com/hzyujun/p/12305058.html