美文网首页
2-6-7进程通信、线程

2-6-7进程通信、线程

作者: Liquor_4a19 | 来源:发表于2018-12-06 10:41 被阅读0次

    进程通信是指进程之间的信息交换。

    一、低级通信——进程之间的互斥和同步

    信号量机制是有效的同步工具,但作为通信工具缺点如下:

    (1)效率低(通信量少)

    (2)通信对用户不透明(程序员实现,操作系统只提供共享存储器供代码操作)

    二、高级进程通信

    用户直接利用操作系统提供的一组通信命令,高效地传送大量数据的通信方式。

    操作系统隐藏了进程通信的细节,对用户透明,减少了通信程序编制上的复杂性。

    1.进程通信的类型

    (1)共享存储器系统(操作存储区方式)

    a.基于共享数据结构(低级)

    b.基于共享存储区的通信方式(高级)

    (2)消息传递系统(发--收方式)

    (3)管道通信(中间文件方式)

    2.认识线程

    多线程系统中,同一个进程中的多个线程

    共享进程资源

    可并发执行

    线程与进程的比较

    调度:线程作为CPU调度的基本单位,而进程只作为其它资源分配单位。

    并发性:进程之间可以并发,实质上是不同进程中的两个线程并发。一个进程的多个线程之间亦可并发。

    拥有资源:进程间资源相互独立;同一进程的各线程间共享。某进程内的线程在其它进程不可见

    系统开销:线程上下文切换在同进程环境下上下文切换要快得多。因为同进程内线程间共享内存地址和打开的文件资源;

    线程的管理

    同步和通信机制

    1)互斥锁

    比较简单的,控制线程互斥访问资源;

    适用于高频度使用的关键共享数据和程序段;

    unlock和lock两个锁操作原语;

    2)条件变量

    与互斥锁一起使用

    锁保证互斥进入临界区,但利用条件变量使线程阻塞

    注意不满足条件时,wait条件变量:

    释放互斥锁

    进程阻塞在条件变量指向队列中

    被唤醒后要重新再设互斥锁

    3)信号量

    私用信号量(privatesamephore)

    用于同进程的线程间同步,数据结构存放在应用程序的地址空间。属于特定进程,OS感知不到其存在。

    公用信号量(publicsamephore)

    用于不同进程间或不同进程中线程的同步,数据结构由OS管理,存放在受保护的系统存储区。

    相关文章

      网友评论

          本文标题:2-6-7进程通信、线程

          本文链接:https://www.haomeiwen.com/subject/nsnccqtx.html