进程与线程

先引入三个比如: cpu---公司

进程---办公室

         线程---程序员(我们)

         全局变量,内存等资源---公司提供的电脑,桌子等

进程:  操作系统分配程序执行资源的单位

线程:进程的一个实体,是CPU调度和分配的单位。

  理解: 进程一旦建立,便有了一个主线程与主进程,还包括线程可能用到的内存,硬盘等资源,也就是是说,进程=线程+资源,就好比一个办公室=程序员+电脑 , 电脑这些资源由公司负责分配,而真正使用这些资源的是我们程序员.

多进程与多线程

  为了更大的提高公司的业绩,自然会想到扩大公司规模,再开办公室(相当于开多个进程),或者只有一个办公室的情况下,再招更多人的程序员(相当于开更多的线程)

  这两种都可以,但是毫无疑问,再开一间办公室会消耗更多的财力,对操作系统来说,再开一个进程,相当于克隆一个原来的进程,开辟一条缓存区,保存主线程的信息,这都需要消耗时间,当需要的子进程更多,当然就不合适了;再就是多招一些员工,继续在这个办公室工作,相当于在原来的进程中再开一些子线程,这样也可以实现多任务,所以多线程比多进程有更高的并发性,但有问题是,这个办公室的电脑等资源有限,会出现资源的争夺,即在共享全局变量的时候会出现安全性问题,  在多进程中,各自用各自的资源,虽然资源一样,但是不共享

并行与并发

并行:当任务数小于或者等于cpu核数时,每一个任务都有对应的cpu来处理执行,即任务真的是一起执行的

并发: 指的是任务数多于cpu核数,通过操作系统的各种任务调度算法,实现用多个任务“一起”执行(实际上总有一些任务不在执行,因为切换任务的速度相当快,看上去一起执行而已)

如果你和我有共同爱好,我们可以加个好友一起交流!

python编程系列---最详细的讲解进程与线程的关系的更多相关文章

  1. 线程概念( 线程的特点,进程与线程的关系, 线程和python理论知识,线程的创建)

    参考博客: https://www.cnblogs.com/xiao987334176/p/9041318.html 线程概念的引入背景 进程 之前我们已经了解了操作系统中进程的概念,程序并不能单独运 ...

  2. python 全栈开发,Day41(线程概念,线程的特点,进程和线程的关系,线程和python 理论知识,线程的创建)

    昨日内容回顾 队列 队列 : 先进先出.数据进程安全 队列实现方式: 管道 + 锁 生产者消费者模型 : 解决数据供需不平衡 管道 双向通信 数据进程不安全 EOFError: 管道是由操作系统进行引 ...

  3. python全栈开发,Day41(线程概念,线程的特点,进程和线程的关系,线程和python理论知识,线程的创建)

    昨日内容回顾 队列 队列:先进先出.数据进程安全 队列实现方式:管道+锁 生产者消费者模型:解决数据供需不平衡 管道 双向通信,数据进程不安全 EOFError: 管道是由操作系统进行引用计数的 必须 ...

  4. CPU进程与线程的关系和区别

    进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位. 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位. ...

  5. Python开发【第九篇】:进程、线程

    什么是进程(process)? 程序并不能单独运行,只有将程序装载到内存中,系统为它分配资源才能运行,而这种执行的程序就称之为进程.程序和进程的区别就在于,程序是指令的集合,它是进程运行的静态描述文本 ...

  6. 《windows核心编程系列》十九谈谈使用远程线程来注入DLL。

    windows内的各个进程有各自的地址空间.它们相互独立互不干扰保证了系统的安全性.但是windows也为调试器或是其他工具设计了一些函数,这些函数可以让一个进程对另一个进程进行操作.虽然他们是为调试 ...

  7. 网络编程基础【day10】:进程与线程介绍(一 )

    本节内容 1.概述 2.什么是进程? 3.什么是线程? 4.什么是携程? 5.存在的疑问 6.总结 一.概述 我们知道,所有的指令的操作都是有CPU来负责的,cpu是来负责运算的.OS(操作系统) 调 ...

  8. Python全栈开发之11、进程和线程

    一.线程 多任务可以由多进程完成,也可以由一个进程内的多线程完成,一个进程内的所有线程,共享同一块内存python中创建线程比较简单,导入threading模块,下面来看一下代码中如何创建多线程. d ...

  9. python编程系列---进程池的优越性体验

    1.通过multiprocessing.Process()类创建子进程 import multiprocessing, time, os, random def work(index): " ...

随机推荐

  1. Day 26 网络基础 3

    tcpdump抓包 tcpdump -i eth0 port 80 -nn -S -i 指定网卡 port 指定端口号 http 80:ftp 21 :ssh 22:telnet 23:smtp 25 ...

  2. 一套基于SpringBoot+Vue+Shiro 前后端分离 开发的代码生成器

    一.前言 最近花了一个月时间完成了一套基于Spring Boot+Vue+Shiro前后端分离的代码生成器,目前项目代码已基本完成 止步传统CRUD,进阶代码优化: 该项目可根据数据库字段动态生成 c ...

  3. 【面试】足够“忽悠”面试官的『Spring事务管理器』源码阅读梳理(建议珍藏)

    PS:文章内容涉及源码,请耐心阅读. 理论实践,相辅相成 伟大领袖毛主席告诉我们实践出真知.这是无比正确的.但是也会很辛苦. 就像淘金一样,从大量沙子中淘出金子一定是一个无比艰辛的过程.但如果真能淘出 ...

  4. 使用flask-mail扩展发送邮件

    使用flask-mail扩展发送电子邮件 在我们开发完web系统后,一些特定的事件发生时,系统要自动发送相关邮件至管理员,运维人员和其他相关人员.python标准库中的smtplib包也可以用在Fla ...

  5. Tomcat下java普通类IO文件路径问题

    由于在windows和linux下文件路径的表示方式存在差异 而我们的项目大多是在windows下的eclipse中完成测试 然后部署到linux的tomcat服务器中 这个时候我们既不能把地址写死( ...

  6. HNU_小中初数学学习软件(可视化编程)_结对项目总结与体会

    前言 经过将近一周的共同努力,HnuLyx和我终于完成了项目,期间心酸苦辣,受益良多,请允许我一一道来. 问题(需求要求的

  7. Python爬虫(一):爬虫伪装

    1 简介 对于一些有一定规模或盈利性质比较强的网站,几乎都会做一些防爬措施,防爬措施一般来说有两种:一种是做身份验证,直接把虫子挡在了门口,另一种是在网站设置各种反爬机制,让虫子知难而返. 2 伪装策 ...

  8. 孙悟空的七十二变是那般?--java类型的七十二变揭秘

    故事背景 在<西游记>原著第六回,孙悟空大闹天宫反下界,玉帝派十万天兵围剿,却被打得落花流水.玉帝不得不放下架子,请自己外甥二郎神回来支援.孙悟空与二郎神本事差不多,两人斗得不分胜负,但二 ...

  9. 原创电子书《菜鸟程序员成长之路:从技术小白到阿里巴巴Java工程师》

    <菜鸟程序员成长之路:从技术小白到阿里巴巴Java工程师> 国庆节快乐!一年一度长度排第二的假期终于来了. 难得有十一长假,作者也想要休息几天啦. 不管你是选择出门玩,还是在公司加班,在学 ...

  10. iOS 组件化路由框架 WisdomRouterKit 的应用

    [前言] 大家好,写作是为了和读者沟通交流,欢迎各位开发者一起了解 WisdomRouterKit SDK 的功能. 关于 iOS 组件化路由方案框架: WisdomRouterKit 的功能介绍,之 ...