标签:__ python self interval time 进程 multiprocessing
什么是多进程?
简单的理解:单板上运行的一个程序就是一个进程。进程是操作系统分配资源的最小单位,不同的进程之间资源不共享,进程间通信需要使用特定的方式。python提供了自带的multiprocessing库,用于多线程场景。
线程的创建(函数式和对象式)
import multiprocessing import time def worker(interval): while True: print("The time is {0}".format(time.ctime())) time.sleep(interval) if __name__ == "__main__": p = multiprocessing.Process(target = worker, args = (1,)) p.start() p.join()
import multiprocessing import time class ClockProcess(multiprocessing.Process): def __init__(self, interval): multiprocessing.Process.__init__(self) self.interval = interval def run(self): while True: print("the time is {0}".format(time.ctime())) time.sleep(self.interval) if __name__ == '__main__': p = ClockProcess(1) p.start() p.join()
守护进程
如果将一个进程设置为守护进程,那么当主进程结束时,守护进程也自动结束。
import multiprocessing import time class ClockProcess(multiprocessing.Process): def __init__(self, interval): multiprocessing.Process.__init__(self) self.interval = interval def run(self): while True: print("the time is {0}".format(time.ctime())) time.sleep(self.interval) if __name__ == '__main__': p = ClockProcess(1) p.daemon = True # 设置子进程为守护进程后,看不到子进程的任何打印 p.start() print("main process end")
如果想主进程等待子进程结束后,使用join即可
进程间通信
互斥锁
标签:__,python,self,interval,time,进程,multiprocessing 来源: https://www.cnblogs.com/chusiyong/p/12900521.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。