Python 多进程和数据传递的理解

 更新时间:2017年10月09日 11:29:48   作者:wait_for_eva  
这篇文章主要介绍了Python 多进程和数据传递的理解的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下

Python 多进程和数据传递的理解

python不仅线程用的是系统原生线程,进程也是用的原生进程

进程的用法和线程大同小异

import multiprocessing 
 
p = multiprocessing.Process(target=fun,args=()) 

线程的基本方法在进程中都能够使用

但是进程和线程中有一个明显的区别:可以实现多核的运用

python本身会启动一个主进程,并且拥有一个主线程把主进程看做一家之主,那主线程也是他本身,其他线程就相当于老婆们
而进程,长大了的儿子们,线程固然是不能分割的,一家人还是要团结,但是儿子自家的事务,老子却也不能插手,所以,一家只能占用一个CPU实现单核运用的话,生多个儿子那必然就实现了多核运用

GIL锁住的,只是一个进程,让一家人团结

但是一个进程只有这么一把全量锁,线程不能单独跑,那就打包一起跑

多进程就这样完成了一般语言中多线程的优化

数据传递

多线程,多进程中总有要协同的工作,都涉及数据的交互,不过交互方式有些不同

信息进行传递的时候,为了不阻塞执行一般会将数据放入对列当中而不是直接返回

线程中,由于都属于同一个进程,定义一个全局的队列在各线程中就能够压入数据

进程可能运行在不同的CPU上,因此,相互间的传递不能在全局定义,只能通过创建时进行传入

内部操作:传入的队列实际上并不是将引用传入,然后直接操作队列,这毕竟是不同的CPU上的工作

队列的传入实际上是队列拷贝的传入,通过pickle拷贝后进行传入,然后再pickle将数据传回

import multiprocessing 
 
multiprocessing.Queue() 

线程和进程都有不同的队列对象,以实现不同的数据交互,不能错位使用

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

  • Python PyQt5标准对话框用法示例

    Python PyQt5标准对话框用法示例

    这篇文章主要介绍了Python PyQt5标准对话框用法,结合实例形式分析了PyQt5常用的标准对话框及相关使用技巧,需要的朋友可以参考下
    2017-08-08
  • 跟老齐学Python之集合的关系

    跟老齐学Python之集合的关系

    前面一节讲述了集合的基本概念,注意,那里所涉及到的集合都是可原处修改的集合。还有一种集合,不能在原处修改。
    2014-09-09
  • centos+nginx+uwsgi部署django项目上线

    centos+nginx+uwsgi部署django项目上线

    本文主要介绍了centos+nginx+uwsgi部署django项目上线,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • Python继承和子类从Person到Student演示实例

    Python继承和子类从Person到Student演示实例

    这篇文章主要为大家介绍了Python继承和子类从Person到Student演示实例分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10
  • Python Process多进程实现过程

    Python Process多进程实现过程

    这篇文章主要介绍了Python Process多进程实现过程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10
  • 详解Python中的null是什么

    详解Python中的null是什么

    这篇文章主要介绍了Python中的null是什么,Python中其实没有null这个词,取而代之的是None对象,即特殊类型NoneType,代表空、没有,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2022-09-09
  • 浅谈Python生成器generator之next和send的运行流程(详解)

    浅谈Python生成器generator之next和send的运行流程(详解)

    下面小编就为大家带来一篇浅谈Python生成器generator之next和send的运行流程(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • Python常用内置函数的使用教程详解

    Python常用内置函数的使用教程详解

    Python官方文档对于内置函数的介绍较为简略,但这些内置函数在日常工作中却扮演着不可或缺的角色。这篇文章为大家介绍了Python常用内置函数的使用,需要的可以参考一下
    2023-04-04
  • 封装一个python的pymysql操作类

    封装一个python的pymysql操作类

    这篇文章主要介绍了封装一个python的pymysql操作类的相关资料,需要的朋友可以参考下
    2022-12-12
  • Python类方法总结讲解

    Python类方法总结讲解

    这篇文章主要介绍了Python类方法总结讲解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-07-07

最新评论