bilibili 李兴华编程训练营
# coding:UTF-8
import multiprocessing
main_pid=multiprocessing.current_process().pid
main_pname=multiprocessing.current_process().name
print(main_pid,main_pname)
import multiprocessing
import time
cpu_core_count = multiprocessing.cpu_count()
print('{} 被执行了四次=主进程+3个子进程'.format(cpu_core_count))
class ProcessMonitor():
def __init__(self):
self.main_pid = multiprocessing.current_process().pid
self.main_pname = multiprocessing.current_process().name
def main(self):
print("【0】",self.main_pid,self.main_pname)
for item in range(3):
process = multiprocessing.Process(target=worker, args=(1, 5),
name="WorkerProcess==%s" % item)
process.start()
def worker(delay,count):
for num in range(count):
pid=multiprocessing.current_process().pid
pname=multiprocessing.current_process().name
print("[{}] 进程ID:{} 进程名称:{} ".format(num+1,pid,pname))
time.sleep(delay)
if __name__ == '__main__':
pmonitor=ProcessMonitor()
pmonitor.main()
print("每次执行顺序不同 产生粘包")
#coding:UTF-8
import multiprocessing,time
class MyProcess(multiprocessing.Process):
def __init__(self,name,delay,count):
super().__init__(name=name)
self.__delay=delay
self.__count=count
def run(self):
for i in range(self.__count):
pid=multiprocessing.current_process().pid
pname=multiprocessing.current_process().name
print("[{}] 进程ID:{} 进程名称:{} ".format(i+1,pid,pname))
time.sleep(self.__delay)
if __name__ == "__main__":
for item in range(3):
p=MyProcess(name="进程==%s"%item,delay=1,count=5)
p.start()
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)