您的位置: 翼速应用 > 业内知识 > 运维 > 正文

关于linux中的线程之解析来了

本文给大家带来了关于linux的相关知识,一起聊聊linux中的线程。在linux中,线程(thread)指的是程序内部的一个执行路线,即一个进程内部的控制序列,一切进程至少都有一个执行线程。线程是程序执行的最小单位,线程共享进程数据,但也有自己的一部分数据。


关于linux中的线程之解析来了


本文适用于linux5.9.8系统、Dell G3电脑。


关于linux中的线程之解析来了


详解线程:在一个程序里的一个执行路线叫做线程(thread)。更准确的定义是:线程是“一个进程内部的控制序列”,一切进程至少都有一个执行线程。


进程与线程:进程是资源分配与竞争的基本单位,线程是程序执行的最小单位;线程共享进程数据,但也有自己的一部分数据。


●  线程ID


●  一组寄存器:IP,PSW,堆栈指针


●  栈


●  errno


●  信号状态


●  优先级


Linux 线程的概念和使用


fork和创建新线程的区别


●  当一个进程执行一个fork调用的时候,会创建出进程的一个新拷贝,新进程将拥有它自己的变量和它自己的PID。这个新进程的运行时间是独立的,它在执行时几乎完全独立于创建它的进程。

●  在进程里面创建一个新线程的时候,新的执行进程会拥有自己的堆栈(因此也就有自己的局部变量),但要与他的创建者共享全局变量、文件描述符、信号处理器和当前工作目录状态。


线程的优点


●  创建一个新线程的代价要比创建一个新进程小得多

●  与进程之间的切换相比,线程之间的切换需要操作系统做的工作少得多

●  线程占用的资源要比进程少得多

●  能充分利用多处理器的可并行数量

●  在等待慢速I/O操作结束的同时,程序可执行其他的计算任务

●  计算密集型应用,为了能在多处理器系统上运行,将计算分解到多个线程中实现

●  I/O密集型应用,为了提高系统,将I/O操作重叠。线程可以同时等待不同的I/O操作


线程的缺点


●  性能损失

●  一个很少被外部事件阻塞的计算密集型线程往往无法与其他线程共享同一个处理器。如果计算密集型线程的数量比可用的处理器多,那么可能会有较大的性能损失,这里的性能损失指的是增加了额外的同步和调度开销,而可用的资源不变。

●  健壮性降低

●  编写多线程需要更全面更深入的考虑,在一个多线程程序里,因时间分配上的细微偏差或者因共享了不该共享的变量而造成不良的可能性是很大的,换句话说线程之间是缺乏保护的。

●  缺乏访问控制

●  进程是访问控制的基本粒度,在一个线程中调用某些OS函数会对整个进程造成影响。

●  编程难度提高

●  编写与调试一个多线程比单线程程序困难得多


线程调度竞争范围


●  操作系统提供了各个模型,用来调度应用程序创建的线程。这些模型时间的主要不同是:在竞争系统资源(特别是CPU时间)时,线程调度竞争范围(thread-scheduling contention scope)不一样

●  进程竞争范围(Process contention scope):各个线程在同一个进程竞争“被调度的CPU时间”(但不直接和其他进程中的线程竞争)。

●  系统竞争范围(System contention scope):线程直接和”系统范围“内的其他线程竞争。


以上就是linux中的线程之全部解析,翼速应用平台内有更多相关资讯,欢迎查阅!


我来说两句

0 条评论

推荐阅读

  • 响应式布局CSS媒体查询设备像素比介绍

    构建响应式网站布局最常见的是流体网格,灵活调整大小的站点布局技术,确保用户在使用的幕上获得完整的体验。响应式设计如何展示富媒体图像,可以通过以下几种方法。

    admin
  • 提升网站的性能快速加载的实用技巧

    网站速度很重要,快速加载的网站会带来更好的用户体验、更高的转化率、更多的参与度,而且在搜索引擎排名中也扮演重要角色,做SEO,网站硬件是起跑线,如果输在了起跑线,又怎么跟同行竞争。有许多方法可提升网站的性能,有一些技巧可以避免踩坑。

    admin
  • 织梦CMS TAG页找不到标签和实现彩色标签解决方法

    织梦cms是我们常见的网站程序系统的一款,在TAG标签中常常遇到的问题也很多。当我们点击 tags.php 页的某个标签的时候,有时会提示:“系统无此标签,可 能已经移除!” 但是我们检查程序后台,以及前台显示页面。这个标签确实存在,如果解决这个问题那?

    admin
  • HTML关于fieldset标签主要的作用

    在前端开发html页面中常用的标签很多,今天为大家带来的是关于HTML中fieldset标签主要的作用说明,根据技术分析HTML

    admin

精选专题