新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
创新互联www.cdcxhl.cn八线动态BGP香港云服务器提供商,新人活动买多久送多久,划算不套路!
创新互联于2013年成立,先为洪江等服务建站,洪江等地企业,进行企业商务咨询服务。为洪江企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。这篇文章给大家分享的是有关Python中fock()函数的使用方法的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。
首先,在python中我们要实现多进程,有两个模块可以用:
1)os中的fork()函数
2)multiprocessing模块
fork()函数
函数原型:
Help on built-in function fork in module posix: fork(...) fork() -> pid Fork a child process. Return 0 to child process and PID of child to parent process.
从fork()函数原型来看,它也属于一个内建函数。
子进程永远返回0,而父进程返回子进程的ID。这样做的理由是,一个父进程可以fork()出很多子进程,所以,父进程要记下每个子进程的ID,而子进程只需要调用getppid()就可以拿到父进程的ID。
Python的进程函数fork()是在os模块,下面是一个关于进程的例子:
import os print os.getpid() #获取子进程的进程号 pid = os.fork() if pid == 0 : print 'I am child process (%s) and my parent is %s.' % (os.getpid(), os.getppid()) else : print 'I (%s) just created a child process (%s).' % (os.getpid(), pid)
执行结果:
1526 I (1526) just created a child process (1527). I am child process (1527) and my parent is 1526.
有了fork调用,一个进程在接到新的任务时,就可以复制出一个子进程来处理新任务。常见的Apache服务器就是由父进程监听端口,一旦有新的http请求时,就fork出子进程来处理新的http请求。
再看一个例子:
#coding=utf-8 import os os.fork() print 1
执行结果:
1 1
程序中,父进程中创建了一个子进程,子进程运行打印了一个1,回到父进程又打印了一个1,所以结果是打印了2个1。
注意:
上面创建进程的函数都是Unix/Linux下的,Windows下是没有的,那在Windows下又使用什么实现多进程呢?
由于Python是跨平台的,自然也应该提供一个跨平台的多进程支持。multiprocessing模块就是跨平台版本的多进程模块, 支持子进程、通信和共享数据、执行不同形式的同步。
multiprocessing模块提供了一个Process类来创建一个新的进程对象。
感谢各位的阅读!关于Python中fock()函数的使用方法就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!