python range函数 小数(Python中fock()函数如何使用)
首先 ,在python中我们要实现多进程 ,有两个模块可以用:
1)os中的fork()函数
2)multiprocessing模块fork()函数
函数原型:
Helponbuilt-infunctionforkinmoduleposix: fork(...) fork()->pid Forkachildprocess. Return0tochildprocessandPIDofchildtoparentprocess.从fork()函数原型来看 ,它也属于一个内建函数 。
子进程永远返回0 ,而父进程返回子进程的ID 。这样做的理由是 ,一个父进程可以fork()出很多子进程 ,所以 ,父进程要记下每个子进程的ID ,而子进程只需要调用getppid()就可以拿到父进程的ID。
相关推荐:《Python视频教程》
Python的进程函数fork()是在os模块 ,下面是一个关于进程的例子:
importos printos.getpid()#获取子进程的进程号 pid=os.fork() ifpid==0: printIamchildprocess(%s)andmyparentis%s.%(os.getpid(),os.getppid()) else: printI(%s)justcreatedachildprocess(%s).%(os.getpid(),pid)执行结果:
1526 I(1526)justcreatedachildprocess(1527). Iamchildprocess(1527)andmyparentis1526.有了fork调用,一个进程在接到新的任务时 ,就可以复制出一个子进程来处理新任务 。常见的Apache服务器就是由父进程监听端口 ,一旦有新的http请求时,就fork出子进程来处理新的http请求 。
再看一个例子:
#coding=utf-8 importos os.fork() print1执行结果:
1 1程序中 ,父进程中创建了一个子进程 ,子进程运行打印了一个1,回到父进程又打印了一个1 ,所以结果是打印了2个1 。
注意:
上面创建进程的函数都是Unix/Linux下的 ,Windows下是没有的 ,那在Windows下又使用什么实现多进程呢?
由于Python是跨平台的 ,自然也应该提供一个跨平台的多进程支持 。multiprocessing模块就是跨平台版本的多进程模块 , 支持子进程 、通信和共享数据 、执行不同形式的同步 。
multiprocessing模块提供了一个Process类来创建一个新的进程对象 。
相关推荐:
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!