线程

线程是cpu使用的基本单元,它由线程id,程序计数器,寄存器集合和栈组成,它与属于同一进程的其他线程共享代码段,数据段和其他操作系统资源。

传统重量级的进程只有单个控制线程,如果进程有多个控制线程,那么它能同时做多个任务。

运行在现代桌面pc上的许多软件包都是多线程的,一个应用程序通常是作为一个具有多个控制线程的独立进程实现的,例如,网页浏览器可能 有一个线程用于显示图像和文本,另一个线程用于从网络接收数据。

进程创建很消耗时间和资源

多线程编程有如下4个优点 :

  1. 响应度高:如果 对一个交互程序采用多线程,那么即使其部分阻塞或执行较冗长的操作,该程序仍能继续执行,从而增加了对用户的响应程度,例如,多线程Web浏览器在用一个线程装入图像时,能通过另一个线程与用户交互。
  2. 资源共享:线程默认共享它们所属进程的内存和资源,代码和数据共享的优点是它能允许一个应用程序在同一地址空间有多个不同的活动线程。
  3. 经济:进程创建所需要的内存和资源的分配比较昂贵,由于线程能共享它们所属进程的资源,所以创建和切换线程会更为经济,
  4. 多处理器体系结构的利用: 多线程的优点之一是能充分使用多处理器体系结构,以便每个进程能并行运行在不同的处理器上,不管有多少CPU,单线程进程只能运行在一个CPU上,在多CPU上使用多线程加强了并发功能。

小结

线程是进程内的控制流,多线程进程在同一地址空间内包含多个不同的控制流,多线程的优点包括对用户响应的改进、进程内的资源共享、经济和利用多处理器体系结构的能力。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 又来到了一个老生常谈的问题,应用层软件开发的程序员要不要了解和深入学习操作系统呢? 今天就这个问题开始,来谈谈操...
    tangsl阅读 9,633评论 0 23
  • Object C中创建线程的方法是什么?如果在主线程中执行代码,方法是什么?如果想延时执行代码、方法又是什么? 1...
    AlanGe阅读 5,808评论 0 17
  • 进程 1:进程是指在系统中正在运行的一个应用程序,进程是程序在计算机上的一次执行活动。 2:每个进程之间是相互独立...
    没有梦想_何必远方阅读 4,334评论 0 3
  • 线程、进程 1.iOS中的多线程操作、多线程方式? 2.多线程的优点和缺点分别是什么? 答:优点:1、将耗时较长的...
    丶逐渐阅读 5,222评论 0 8
  • 小时候常听母亲说:十分聪明用七分,留下三分给子孙。 今看潮汐涨退,月有盈亏,轮回更替,亘古不...
    简式微阅读 3,517评论 5 6

友情链接更多精彩内容