process概念

multiprocess:
multiprocess.cpu_count():统计cpu核数
multiprocess.active_chirdren():获取所有的子进程
multiprocess.current_process():获取当前的子进程
multiprocess.Prpcess(target=function_name,args=())



multiprocess.Lock():多个进程需要访问共享资源的时候,Lock可以用来避免访问的冲突
lock.acquire()
lock.release()
multiprocess.Semaphore(n):控制对共享资源的访问数量,例如池的最大连接数
s.acquire()
s.release()
multiprocessing.Event():实现进程间同步通信
e.set();设置标志位
e.clear():清除标志位
e.is_set():判断是否设置标志位
e.wait():阻塞当前子进程直到标志位被设置
multiprocess.Queue()
q.full():判断队列是否已满
q.close():关闭队列
q.empty():判断队列是否空
q.put(obj,block=True,timeout=None):插入队列,block=False,则抛出Queue.full异常
block=True,阻塞timeout时间,直到有剩余的空间,如果超时,则会抛出Queue.full异常
q.get(block=True,timeout=None): 取出队列, block=False,则会抛出Queue.Empty异常
block=True,阻塞timeout时间,直到队列有新对象插入,如果超时会抛出Queue.Empty异常




Process:
p.name:进程的名称
p.is_alive():进程是否运行中
p.pid:返回进程的id
p.start():启动进程,自动调用run方法
p.daemon():守护进程,当p的父进程终止时,p也随之终止
p.join():不设置timeout时程序会一直等待上面的进程执行完成后再执行join()后面的代码

猜你喜欢

转载自www.cnblogs.com/hapyygril/p/9836859.html