最新公告
  • 欢迎您光临网站无忧模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • Python中fock()函数如何使用

    正文概述    2020-09-24   410

    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()函数如何使用

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元