教程集 www.jiaochengji.com
教程集 >  Python编程  >  python进阶  >  正文 Python中fock()函数如何使用

Python中fock()函数如何使用

发布时间:2021-01-23   编辑:jiaochengji.com
教程集为您提供Python中fock()函数如何使用等资源,欢迎您收藏本站,我们将为您提供最新的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视频教程》

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中的多进程是什么

您可能感兴趣的文章:
Python中fock()函数如何使用
python是否支持函数重载
python如何调用函数库
python如何迭代文件中的内容
python字典如何相加
python中如何调用写文件函数
python中函数定义的关键字是
python怎样从控制台输入
python中如何判断字典中是否有某个值
python如何将数据写入文件并保存

[关闭]
~ ~