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

网站改版如何做301wordpress导航菜单设置

网站改版如何做301,wordpress导航菜单设置,松江网站建设博客,松山湖做网站目录 线程的初步认识 为什么需要线程 怎么让代码分成多个执行流并发执行呢? 管理线程 线程的初步认识 线程是进程内部的一个执行分支,线程是CPU调度的基本单位。 在Linux操作系统中,线程是程序执行流的最小单位。一个进程可以包含多个线…

目录

线程的初步认识

为什么需要线程

怎么让代码分成多个执行流并发执行呢?

管理线程 


线程的初步认识

线程是进程内部的一个执行分支,线程是CPU调度的基本单位。

在Linux操作系统中,线程是程序执行流的最小单位。一个进程可以包含多个线程,这些线程共享进程的资源,如内存空间、文件描述符等,但每个线程有自己的程序计数器、栈和栈指针。这使得多线程程序能够并行执行多个任务,从而提高程序的效率和响应性。

为什么需要线程

在过去,我们认为在一个进程中,正文代码中的函数是串行调用的,如下图所示,我们认为

  1. 调用 A,执行完成后返回。
  2. 调用 B,执行完成后返回。
  3. 调用 C,执行完成后返回。
  4. 调用 D,执行完成后返回。

如果任务中有耗时的操作(如 I/O 操作、网络请求等),串行调用会让整个程序的执行速度受到影响。 

如下图,如果我们把代码分成两个执行流调用,即并行调用,多个任务可以同时执行,而不是一个接一个地执行,可以大大减少总的执行时间

怎么让代码分成多个执行流并发执行呢?

我们需要知道,创建一个子进程,实际上也是创建了一个执行流,父子进程相互独立,各自执行自己的代码。在创建子进程时,需要给子进程设置进程地址空间、创建页表等,这些操作的开销比较大。也就是说,如果创建多个进程来让代码分成多个执行流并发执行,其开销是比较大的。

从另一个角度想,同一个可执行程序创建多个进程,分成多个执行流并发执行,并没有必要让所有的执行流都私有一份地址空间和页表,因为每个执行流看到的进程地址空间和页表内的数据都是一样的,对同一份资源拷贝多次,消耗了时间和空间。

我们只需要创建出多个 task_struct ,让这些 task_struct 都指向同一个进程地址空间,就可以省下这些开销。如下图所示:

如果把代码区的代码分成三部分,A进程执行第一部分,B进程执行第二部分,C进程执行第三部分,这样就实现了代码分成多个执行流并发执行! 现在需要修正一下,其实A、B、C进程也就是线程。

 所以线程是进程内部的一个执行分支,也就是说,我们之前认为的进程,其实是内部只有一个线程的进程,而今天理解的进程,是内部至少有一个线程的进程!

管理线程 

有了线程,就需要对线程进行管理,操作系统要创建线程、标识线程、按照优先级调度线程、要对线程进行上下文保护、要释放线程、回收相关的资源,对线程的管理方式其实和进程的管理方式是相似的,而且线程和进程都是执行流,在 Linux 的设计者认为,没有必要为了管理线程单独设计数据结构和算法,直接复用进程的相关代码即可!

那么CPU在调度时,不用管 task_struct 是进程还是线程,只要调度就好了,因为进程和线程都是执行流,反过来,CPU在调度时,拿到的执行流可能是进程,也可能是线程,Linux中没有物理意义的线程,所以在Linux中,执行流也叫轻量级进程

http://www.yayakq.cn/news/210771/

相关文章:

  • 怎么做网站促收录买的网站可做360广告联盟吗
  • 做网站宣传网页设计公司兴田德润在哪儿
  • 做短链的网站怎么样做推广网站
  • 电脑版网站制作公司wordpress 翻译制作
  • 网站开发保密协议范本下载宁波市高新区建设局网站
  • 网站域名放国外石家庄建设网站哪家好
  • 网站 盈利模式网络服务器监控系统
  • 网上注册公司核名流程seo推广有哪些方式
  • 只做健康产品的网站阜宁做网站哪家公司好
  • 长春网站建设营销q479185700刷屏dedecms的网站如何添加个引导页
  • 杭州商城型网站建设网站推广服务网址
  • 泉州正规制作网站公司织梦网站地图调用全站文章
  • 西安做网站的在哪成华区住房和城乡建设厅网站
  • 网站建设不推广有用吗相册制作模板
  • 网站链接只显示到文件夹怎么做的ppt网站建设的目的
  • ppt做视频模板下载网站有哪些内容海南网站网络推广
  • 网站上的图片怎么替换徐州网站建设专家
  • 成都诗和远方网站建设创做网站
  • 做生物学的网站做网站站长一年能赚多少钱
  • 网站怎么申请官网网站建设步骤图
  • 网站后台的东西都是要上传到在虚拟主机上面吗做网站应该买哪一种服务器
  • 网站维护中怎么创建视频网站
  • 自己做网站用php最快么上海创意网站建设
  • 呼和浩特做网站做网站后台主要负责什么
  • 临清网站优化视频直播平台哪个好
  • asp网站实现php栏目微信公众号对接网站如何做
  • wordpress 播客网站rust做网站
  • 哪个网站可以领手工活在家做洛阳 网站建设
  • 网站开发设计师薪资平面设计一个月多少工资
  • 建网站服务建筑设计师网站