扣丁学堂Python在线视频带你了解并读懂多进程和数据传递

在现如今,随着互联网科技飞速的发展和进步,当大多数程序员在写代码时会涉及到很多逻辑和线程,比如Python基础教程语言,首先Python不仅线程用的是系统原生线程,进程也是用的原生进程,进程的用法和线程大同小异。下面我们一起来看下吧。

例如:

import multiprocessing

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

线程的基本方法在进程中都能够使用,但是进程和线程中有一个明显的区别:可以实现多核的运用python本身会启动一个主进程,并且拥有一个主线程把主进程看做一家之主,那主线程也是他本身,其他线程就相当于老婆们而进程,长大了的儿子们,线程固然是不能分割的,一家人还是要团结,但是儿子自家的事务,老子却也不能插手,所以,一家只能占用一个CPU实现单核运用的话,生多个儿子那必然就实现了多核运用GIL锁住的,只是一个进程,让一家人团结但是一个进程只有这么一把全量锁,线程不能单独跑,那就打包一起跑多进程就这样完成了一般语言中多线程的优化

数据传递多线程,多进程中总有要协同的工作,都涉及数据的交互,不过交互方式有些不同信息进行传递的时候,为了不阻塞执行一般会将数据放入对列当中而不是直接返回线程中,由于都属于同一个进程,定义一个全局的队列在各线程中就能够压入数据进程可能运行在不同的CPU上,因此,相互间的传递不能在全局定义,只能通过创建时进行传入内部操作:传入的队列实际上并不是将引用传入,然后直接操作队列,这毕竟是不同的CPU上的工作队列的传入实际上是队列拷贝的传入,通过pickle拷贝后进行传入,然后再pickle将数据传回。

例如:

import multiprocessing

multiprocessing.Queue()

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

本文来自企鹅号 - 扣丁学堂媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏微信公众号:Java团长

一份超详细的Java问题排查工具单

平时的工作中经常碰到很多疑难问题的处理,在解决问题的同时,有一些工具起到了相当大的作用,在此书写下来,一是作为笔记,可以让自己后续忘记了可快速翻阅,二是分享,希...

25610
来自专栏cs

linux 学习笔记七

来自实验楼的学习笔记,文字基本复制,粘贴。 ? 下载了一个录制gif图的软件,还不错 参考与:在Linux(Ubuntu)下超好用的录屏gif软件!!...

36150
来自专栏linux驱动个人学习

Linux CFS调度器之队列操作--Linux进程的管理与调度(二十七)

完全公平调度器CFS中有两个函数可用来增删队列的成员:enqueue_task_fair和dequeue_task_fair分别用来向CFS就绪队列中添加或者删...

18520
来自专栏友弟技术工作室

vim精简版教程

vim编辑器 ? vim trree 编辑器的分类 文本编辑器,ASCII码 字处理器:word 全称 vi:Visual interface vim: Vis...

24050
来自专栏容器云生态

运维工作常用的shell命令

#seq 1 100    //1到100排序 #seq 1 3 100   //1到100排序,间隔为3 shell中的变量设置规则: 1.变量与变量的内容用...

23460
来自专栏阮一峰的网络日志

Commit message 和 Change log 编写指南

Git 每次提交代码,都要写 Commit message(提交说明),否则就不允许提交。 $ git commit -m "hello world" 上面代码...

35950
来自专栏腾讯移动品质中心TMQ的专栏

结合静态代码扫描来给插件间接口把把脉

如火如荼的EP建设中小鹅收到了一个小小的需求,如何知道每个版本变更了哪些插件间接口呢,有没有及时覆盖?

24760
来自专栏ChaMd5安全团队

网鼎杯 第四场 部分WriteUp

http://2e8c0fad02d147a6b3f23624556a2fe49a4b7d2b64484f3c.game.ichunqiu.com//.git/

15720
来自专栏AI2ML人工智能to机器学习

TF Boy 之初筵 - 会话封装

在“TF Boy 之初筵 - 分布十三式”里面我们给了一个分布式MNIST训练的例子, 然后在“TF Boy 之初筵 - 机器簇” 我们对第四式: Cluste...

12430
来自专栏Linyb极客之路

2016年阿里java面试题分享

(1)自我介绍 (2)JVM如何加载一个类的过程,双亲委派模型中有哪些方法? (3)HashMap如何实现的? (4)HashMap和Concurrent H...

37780

扫码关注云+社区

领取腾讯云代金券