3. 进程与线程的关系

一个程序就是一个进程,而一个程序中的多个任务则被称为线程。进程是表示资源分配的基本单位,又是调度运行的基本单位。,亦即执行处理机调度的基本单位。 进程和线程的关系:一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。线程是操作系统可识别的最小执行和调度单位。

资源分配给进程,同一进程的所有线程共享该进程的所有资源。同一进程中的多个线程共享代码段(代码和常量),数据段(全局变量和静态变量),扩展段(堆存储)。但是每个线程拥有自己的栈段,栈段又叫运行时段,用来存放所有局部变量和临时变量,即每个线程都有自己的堆栈和局部变量。

处理机分给线程,即真正在处理机上运行的是线程。

线程在执行过程中,需要协作同步。不同进程的线程间要利用消息通信的办法实现同步。

如果把上课的过程比作进程,把老师比作CPU,那么可以把每个学生比作每个线程,所有学生共享这个教室(也就是所有线程共享进程的资源),上课时学生A向老师提出问题,老师对A进行解答,此时可能会有学生B对老师的解答不懂会提出B的疑问(注意:此时可能老师还没有对A同学的问题解答完毕),此时老师又向学生B解惑,解释完之后又继续回答学生A的问题,同一时刻老师只能向一个学生回答问题(即:当多个线程在运行时,同一个CPU在某一个时刻只能服务于一个线程,可能一个线程分配一点时间,时间到了就轮到其它线程执行了,这样多个线程在来回的切换)

4. 为什么要使用多线程

多线程可以提高程序的效率。

实际生活案例:村长要求喜洋洋在一个小时内打100桶水,可以喜洋洋一个小时只能打25桶水,如果这样就需要4个小时才能完成任务,为了在一个小时能够完成,喜洋洋就请美洋洋、懒洋洋、沸洋洋,来帮忙,这样4只羊同时干活,在一小时内完成了任务。原本用4个小时完成的任务现在只需要1个小时就完成了,如果把每只羊看做一个线程,多只羊即多线程可以提高程序的效率。

马士兵python_马士兵python大数据全栈工程师相关推荐

  1. 阿里巴巴年薪800k大数据全栈工程师成长记

    阿里 大数据全栈工程师一词,最早出现于Facebook工程师Calos Bueno的一篇文章 - Full Stack (需fanqiang).他把全栈工程师定义为对性能影响有着深入理解的技术通才.自 ...

  2. Python爬虫人工智能大数据全栈视频史上最全合辑教程分享!

    Python爬虫人工智能大数据全栈视频史上最全合辑教程分享! 毫无疑问Python是这两年最火的编程语言,不仅容易上手,且在多个行业都可应用.尤其今年人工智能及大数据的发展,Python将会展现更多的 ...

  3. 大数据全栈式开发语言 – Python

    前段时间,ThoughtWorks在深圳举办一次社区活动上,有一个演讲主题叫做"Fullstack JavaScript",是关于用JavaScript进行前端.服务器端,甚至数据 ...

  4. 拿不到 Offer 免费学,廖雪峰的“大数据分析全栈工程师”课程第11期即将封班!...

    随着大数据.人工智能的发展,企业每天会产生海量数据,而BAT等大厂日均数据更是达到了PB级别.企业则需要大量"数据人才"来处理这些复杂数据,帮企业精细化运营.因此,"大数 ...

  5. 拿不到 offer 免费学 | 廖雪峰的“大数据分析全栈工程师”课程第11期开始招生...

    8月,开课吧与百度.微软.阿里.滴滴以及创新工场等头部企业展开深度合作.至此,开课吧系统化课程<大数据分析全栈工程师>将注入更多"大厂脱敏数据.实战项目.云服务等"新鲜 ...

  6. python大数据运维工程师待遇_大数据运维工程师的工作职责

    大数据需要负责公司产品的技术支持.安装调试.客户使用培训及相关硬件的安装调试.下面是学习啦小编为您精心整理的大数据运维工程师的工作职责. 大数据运维工程师的工作职责1 职责: 1.负责和参与公司大数据 ...

  7. python大数据运维工程师待遇_大数据运维工程师岗位的主要职责

    大数据运维工程师需要及时反馈技术处理过程中的异常情况,及时向上级反馈告警,同时主动协调资源推动问题解决.以下是学习啦小编整理的大数据运维工程师岗位的主要职责. 大数据运维工程师岗位的主要职责1 1) ...

  8. python大数据运维工程师待遇_大数据开发、运维、数据分析分别是干什么的?哪个薪资最高?...

    玩转大数据首先要明确自己将要学习的方向,没有人能一下子吃透大数据里面所有的东西. 在大数据的世界里面主要有三个学习方向,大数据开发师.大数据运维师.大数据架构师. 哪个好?我不知道你所说的哪个好?指的 ...

  9. python大数据运维工程师待遇_大数据运维工程师具体是做什么的?

    大数据运维的工作职责 一.集群管理 大数据需要分布式系统,也就是集群:Hadoop,Hbase,Spark,Kafka,Redis等大数据生态圈组建. 二.故障处理 1>.商用硬件使用故障是常态 ...

最新文章

  1. eclipse android logcat 只显示自己应用程序信息的设置方法
  2. ML之RF:利用Js语言设计随机森林算法【DT之CART算法(gain index)】并应用随机森林算法
  3. IDA反编译失败总结
  4. java比较两个对象重写,不重写equals进行两个对象间的深度比较
  5. Linux 命令之 pgrep -- 用于检索(搜索进程/查找进程)当前正在运行的进程
  6. pythonsqlalchemy怎么看到返回的具体内容_sqlalchemy返回值总结
  7. C语言分支结构while,C语言学习:分支结构和循环结构的总结(收藏)
  8. 计算机中学期末考试,[探析我国中学计算机教育]计算机基础大一考试题
  9. pythonos文件目录方法_PythonOS 文件目录方法
  10. mysql根据出生年月计算年龄
  11. 小朋友适合读增广贤文么,增广贤文适合多大的孩子看?
  12. 习惯三 要事第一---自我管理的原则
  13. 小程序如何引导添加个人微信号
  14. MySQL DATE_SUB() -- 从日期减去指定的时间间隔
  15. HP服务器booting embedded lom 1 port 1 hpe ethernet 1gb 4-port 331i adapter处理
  16. unity GetComponent使用
  17. 北工大计算机学院职称评定,北工大将教师担任班主任经历与职称晋升挂钩--科技--人民网...
  18. jsp 实现查询功能
  19. 华为鲲鹏HCIA考试-练习04
  20. 2021年学什么技术比较吃香?当然IT咯

热门文章

  1. 关于开源软件的几个看法
  2. ISP算法介绍--------super Good
  3. 绘画系统的简单实现(p5.js)
  4. Docker - 重新启动关闭的容器
  5. 人工智能 | ShowMeAI资讯日报 #2022.06.24
  6. 搭建Winmail邮件系统
  7. error C2977: “std::tuple”: 模板参数太多 的解决办法
  8. 一天 第一章 花在花苞未有泪,人见不识无言对
  9. CentOS使用yum命令安装软件失败,报错“Couldn‘t open file /data/ceph/ceph/repodata/repomd.xml“
  10. 异形3×3魔方还原教程_2345异形魔方教程