当前位置: 首页 > news >正文

湖北建设局网站首页柳州住房和城乡建设局网站

湖北建设局网站首页,柳州住房和城乡建设局网站,网站开发培训费多少钱,wordpress怎么调用百度地图api文章目录一、多线程概念1.1 程序的并发与并行1.1.1 程序的并行1.1.2 程序的并发1.2 进程与线程1.2.1 进程1.2.2 线程1.2.3 多线程并发就一定快吗?答案直接戳这里👉:多线程并发就一定快吗? 一、多线程概念 在实际应用中&#xff…

文章目录

  • 一、多线程概念
    • 1.1 程序的并发与并行
      • 1.1.1 程序的并行
      • 1.1.2 程序的并发
    • 1.2 进程与线程
      • 1.2.1 进程
      • 1.2.2 线程
      • 1.2.3 多线程并发就一定快吗?

答案直接戳这里👉:多线程并发就一定快吗?

一、多线程概念

在实际应用中,多线程非常有用。例如,一个浏览器可以同时下载几幅图片,一个WEB浏览器需要同时服务来自客户端的请求,我们的电脑管家也可以一边杀毒一边清理垃圾再一边进行电脑体检等任务,这些都是多线程的应用场景。

1.1 程序的并发与并行

1.1.1 程序的并行

程序的并行指的是多个应用程序真正意义上的同时执行,CPU分配多个执行单元共同执行这些任务,效率高,但这依赖于CPU的硬件支持,需要CPU多核心的支持,单核处理器的CPU是不能并行的处理多个任务的。

在这里插入图片描述

1.1.2 程序的并发

程序的并发指的是多个应用程序交替执行,CPU分配给每个应用程序一些“执行时间片”用于执行该应用程序,由于CPU的处理速度极快,并且分配个每个线程的“执行时间片”极短,给人们造成视觉上的误感,让人们以为是“同时”执行,其实是交替执行

需要注意的是:虽然是交替执行,但是程序的并发解决了多个程序之间不能“同时”执行的问题,并且程序的并发利用了CPU的空余时间,能将CPU的性能较好的发挥,另外并发不受CPU硬件的限制,实际开发中,并发往往使我们考虑的重点。

Tips:程序并行执行需要依赖于CPU的硬件支持,而并发却不需要;

在这里插入图片描述

1.2 进程与线程

1.2.1 进程

  • 进程:是指一个内存中运行的应用程序,我们开启的应用如QQ、微信、google浏览器、idea开发工具等都是一个应用,一个应用最少具备一个进程,也有可能有多个进程,每个进程都有一个独立的内存空间,进程是系统运行程序的基本单位;

在这里插入图片描述

Tips:多个进程的执行可以是并行也可以是并发;

1.2.2 线程

  • 线程:线程是进程中的一个执行单元,负责当前进程中程序的执行,是一个程序内部的一条执行路径,一个进程中至少有一个线程。一个进程中是可以有多个线程的,这个应用程序也可以称之为多线程程序;

在这里插入图片描述

关于进程和线程的概念我们理解即可,上图中电脑管家的“首页体检”、“病毒查杀”等功能也有可能是一个进程来完成,关于病毒查杀功能下面可能还有其他小功能,有可能是线程完成,也有可能还是一个独立的进程来完成;

1.2.3 多线程并发就一定快吗?

我们知道,并发本质上其实是多条线程交替执行,线程在交替过程中需要损耗一部分性能,由于CPU分配给这些线程执行的时间片非常短,线程交替也非常频繁,因此线程交替是一个比较消耗性能的步骤;

在大部分情况下,多线程的并发能够提升我们程序的执行速度,如:

  • 当应用程序需要同时处理多个任务时,每一个任务都需要花费大量的时间,这个时候我们可以开辟多条程序执行线路来并发的"同时"处理多个任务;

  • 但是当任务处理时间很短,这个时候根本不需要开启多个线程来"同时"处理多个任务,因为任务处理时间非常短暂,还没等CPU切换到其他线程任务就执行完毕了,这个时候多线程反而使得程序效率低;


这就好比如我们的任务是"烧水",我们需要烧开10壶水,每一壶水的烧开都是一个漫长的时间过程。

  • 在单线程环境中:在水烧开的过程中,CPU只能干等着,等第一壶水烧开了后,才可以烧第二壶水,以此类推…这样效率非常慢
  • 在多线程环境中:在水烧开的过程中,CPU去分配时间去其他的线程,让其他的线程也来烧水,这样可以让多个水壶同时烧水,效率快;

这样下来,多线程效率更高;

但是现在我们的任务如果变为了"拍蒜",我们需要拍10个蒜,拍一瓣蒜的速度非常快;

  • 在单线程环境中:拿起一把刀拍一个蒜,然后马上拍另一瓣蒜…拍10个蒜的时间花费8秒。
  • 在多线程环境中:拿起一把刀拍一个蒜,然后马上换另一把刀拍一个蒜…拍10个蒜的时间花费15秒。

这样下来,单线程效率更高;

Tips:在上述案例中,不管是"烧水"还是"拍蒜"都是一个人(CPU核心)在操作多个器具(调度多个线程),如果出现了多个人来同时操作多个器具那就不属于并发的范畴了,而是属于并行;

本博客知识点收录于:⭐️《JavaSE系列教程》⭐️

http://www.15wanjia.com/news/168235.html

相关文章:

  • 如何建立网站站点二级域名需要申请吗
  • 手机网站开发建设方案游戏游戏大全
  • 网站建设客户问题263企业邮箱手机版
  • 泰安网站开发制作公司中国销售网
  • 如何与对方网站做相互链接内蒙古工程建设招投标中心网站
  • 网站建设内部下单流程网络营销就是seo
  • 天天新网站35互联做网站好吗
  • 福州商城网站建设数商云科技
  • 高端网站建设公司兴田德润在那里如何把网站建设好
  • 阜宁网站制作费用网上怎样正规赚钱
  • 网站域名如何管理建设购物网站要求
  • 莱芜做网站号码WordPress uchome
  • 上传网站到二级域名网站推广常用方法有哪些
  • 百度网站怎么做友情链接网站系统分类
  • 商城网站开发那家好中核集团八大子公司
  • 前端开发 网站建设动画网站模块
  • 信息型网站建设的目的定位现在做外贸还能挣钱吗
  • 自己做网站都要什么桂林在线交流
  • xml网站模板代理公司注册合同
  • 网站调用字体网页设计尺寸参考表
  • 如何做英文网站企业邮箱哪个好用和安全
  • 电商网站建设图片中国建设银行官网招聘公告
  • 织梦网站怎么做备份wordpress google访客
  • 做网站一般不选用的图片格式万能浏览器手机版下载安装
  • 网站产品的详情页怎么做深圳建站公司一般需要多久
  • 有哪些做鞋机设备的网站网上制作网站
  • 上海企业建站美食类网站开发需求
  • 网站开发发展现状自己怎么制作小程序商城
  • 网站备案喷绘公司做阿里巴巴网站要多少钱
  • 北京网站定制报价做亚马逊网站的账务处理