网站大量收购独家精品文档,联系QQ:2885784924

并发概念计算机.pdfVIP

  1. 1、本文档共41页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

并发概念(计算机)

一、串行程序、并发程序、并行程序

串行程序:指只能被顺序执行的指令列表。

并发程序:并发程序属于程序,其内是由多个分(串行程序)组

合在一起,这些分组合在一起构成了一个整体,叫做并发程序。也

叫单元

并行程序:指可以在并行的硬件上(CPU,服务器),运行的并发程

序。

二、并发系统、并行系统

并发系统:程序和程序之间是通过协议协商一致后形成通信。并发系

统就是多个并发程序间构成的,看作是一个系统。

并行系统:指并发系统以并行的方式存在。每个并发系统中的程

序,很有可能会署在多个并行硬件上(服务器)同时运行,也叫做

分布式系统。

三、并发程序内交互

1.什么是并发程序的内部交互?

并发程序中存在多个串行程序,这些串行程序之间可能会存在数据交

互的需求。比如多个串行程序对一个共享资源进行访问(数据库,消

息队列);又或者在它们之间传递一些数据。

在这些需求的环境下,协调它们的执行,就要涉及到同步。

2.同步的作用

避免在并发访问共享资源时发生的冲突,可以有条不紊的传递数据。

3.同步的原则

当程序要访问一个共享资源时,就必须请求该共享资源并获取对应的

访问权;反之如果程序不再需要一个共享资源,就要放弃该资源的访

问权。(释放资源,Close())

而应该等到其释放资源后在进行访问(锁)。结论:一个共享资源在

同一时刻内,只能被一个程序占用。

同步会导致系统资源的浪费,耦合性太强。所以有了异步通信的思想。

4.异步通信

发送方可以不加延迟的将消息发送出去,接收方也不会造成发送方的

等待。(解耦)

数据会被临时存储在一个通道缓存(IPC)的通道中。通道缓存是一

种特殊的共享资源,可以被多个程序使用。接收方准备就绪后无需知

道发送方,直接从通道缓存中获取数据。

多线程编程概念(计算机)

一、什么是多线程编程

POSIX:可移植性的Unix操作系统接口。

NPTL:Linux操作系统的最新线程库。

多线程编程是一种比多进程编程更灵活,更高效的编程方法。在

Linux系统中提供了一个以POSIX为标准定义的线程(简称:POSIX

线程)为中心的各种系统调用。POSIX也是go并发编程在linux系

统下真正使用的内核接口,也就是NPTL本地POSIX线程库。

二、什么是线程

线程可以视为进程中的控制流,一个进程中至少要包含一个线程。

因为一个进程中至少要一个控制流持续运行。所以第一个线程会随着

其进程的启动而创建,这个线程也被称之为主线程。

一个进程中可以存在多个线程,这些线程是由当前进程中存在的线

程创建出来的,而创建的方就是系统调用。更准确的说是调用

pthread_create函数。

拥有多个线程的进程可以并发执行多个任务,并且即使某个线程被

阻塞也不会影响到进程中其它任务的执行。线程会大大提升程序的响

应效率和吞吐量

线程不能独立于进程之上,线程的生命周期不能超过其所在进程的

生命周期。

三、如何实现一个线程

通过系统调用来及制线程。线程与进程的父子家族关系树结构不

同,线程之间的关系都是平等的。它们之间不存在层级关系,任何线

程都可以对同一进程中的其它线程进行有效的管理。其中管理分为5

种:

pthread_create创建线程

pthread_cancel终止线程

pthreadjoin连接已经终止线程

pthread_detach分离线程

pthread_exit彻底退出主线程

3-1V线程TID标识

和进程一样,线程也有属于自己的ID,叫做TID。但与进程不同

的是,线程ID在系统内中并不唯一,

您可能关注的文档

文档评论(0)

pengyou2017 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档