首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >8.线程 原

8.线程 原

作者头像
青木
发布2019-03-12 17:03:05
3040
发布2019-03-12 17:03:05
举报

线程

  • 进程:使多个程序能并发执行,以提高资源利用率和系统吞吐量。
  • 引入线程,是为了救减少程序在并发执行时所付出的时空开销,使OS具有更好的并发性。

引入线程的目的

  • 进程是可拥有资源的独立单位和可独立调度和分派的基本单位。
  • 创建、撤销和切中,系统必须为之付出较大的时空开销。故进程,其数目不宜过多,进程切换的频率也不宜过高。
  • 进程不应同时作为拥有资源的单位和可独立调度和分派的基本单位,应该“轻装上阵”。

线程的属性

(1)轻型实体。线程中的实体基本上不拥有系统资源。

(2)独立调度和分派的基本单位。线程的切换非常迅速、开销小。

(3)可并发执行。

(4)共享进程资源。

进程和程序的区别

  • 进程是动态的,程序是静态的。
  • 进程具有并发性,而程序具有顺序性
  • 进程具有独立性,是资源分配和调度的基本单位,而程序无此特性
  • 进程和程序间没有一一对应关系
  • 进程异步运行,会相互制约,程序不具备此特性

题目

有两个用户进程A和B,在运行过程中都要使用系统中的一台打印机输出计算结果。

(1)说明A、B进程之间存在什么样的制约关系?

答:互斥。因为打印机属于临界资源,必须一个进程使用完之后另一个进程才能使用。

(2)为保证这两个进程能正确的打印出各自的结果,请用信号量和P、V操作写出各自的有关申请、使用打印机的代码。要求给出信号量的含义和初值。

答:mutex:用于互斥的信号量,初值为1。代码如下:

(adsbygoogle = window.adsbygoogle || []).push({});

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 线程
    • 引入线程的目的
      • 线程的属性
        • 进程和程序的区别
          • 题目
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档