多线程与多进程

进程:进程是程序的一次执行,在传统的计算机中,进程既是基本的分配单元,也是基本的执行单元。

线程:线程是可执行的实体单元,它是处理机调度的基本单位。

 

多进程与多线程的根本区别在于:多进程,每个进程都有自己独立的地址空间,而多线程则是多个线程共享地址空间。

由于线程在同一地址空间,因此创建和撤销线程的开销小,线程间的通信效率高,切换迅速。在多处理机系统中,对进程的个数有所限制,但对线程的个数不存在这样的限制,这更能发挥多处理机的优势。线程由于共享地址空间,因此在使用公共变量/内存时需要同步机制。

 

进程同步机制:信号量——信号量的数据结构为一个值和一个指针。指针指向等待给信号量的下一个进程。PV操作,P将信号量减1,V将信号量加1。

管道——基本思想是将共享变量和对它们的操作集中在一个模块中,操作系统或并发程序就由这样的模块构成。模块之间联系清晰,便于维护和修改,易于保证正确性。

进程通信机制:共享内存模式——系统在内存中申请一个区域作为共享存储区,建立一张段表进行管理,各进程可以申请其中的一个存储段,并在申请时提供关键字。若申请的存

储区已经被其他进程占有,系统会想申请进程返回关键字,该存储区就连接到了进程的逻辑地址空间,此后进程就可以直接存取共享内存中的数据。若申请的存储段尚未分配,系统会按照申请者的要求分配存储段,并在段表中加入该进程信息。

 消息传递方式——消息是由发送方形成,通过一定的机制传递给接收方的一组信息,他的长度可以固定也可以变化。

管道——管道通信是一种共享文件模式,它基于文件系统,连接于两个通信进程之间,先进先出的方式实现消息的单向传送。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值