黄色大片在线免费观看_黄色大全下载_黄色的app下载_黄色的软件大全_亚洲国产不卡_亚洲国产成人91porn

信盈达—您身边的嵌入式&人工智能专家
全国免费咨询热线:400-8788-909

信盈达告诉你嵌入式Linux中进程间通信和线程间通信的几种方式

时间:2018-08-27 00:00:00 来源:信盈达 作者:信盈达

线程间通信:由于多线程共享地址空间和数据空间,所以多个线程间的通信是一个线程的数据可以直接提供给其他线程使用,而不必通过操作系统。

所以线程间通信和同步的方式主要有锁、信号、信号量进程间的通信则不同,它的数据空间的独立性决定了它的通信相对比较复杂,需要通过操作系统。

 

通信机制主要有:管道、有名管道、消息队列、信号量、共享空间、信号、套接字(socket)。

 

下面简单介绍下进程间的几种通信方式:

管道:它传递数据是单向性的,只能从一方流向另一方,也就是一种半双工的通信方式;只用于有亲缘关系的进程间的通信,亲缘关系也就是 父子进程或兄弟进程;没有名字并且大小受限,传输的是无格式的流,所以两进程通信时必须约定好数据通信的格式。

管道它就像一个特殊的文件,但这个文件之存在于内存中,在创建管道时,系统为管道分配了一个页面作为数据缓冲区,进程对这个数据缓冲区进行读写,以此来完成通信。其中一个进程只能读一个只能写,所以叫半双工通信,为什么一个只能读一个只能写呢?因为写进程是在缓冲区的末尾写入,读进程是在缓冲区的头部读取,他们各自 的数据结构不同,所以功能不同。

 

有名管道:看见这个名字就能知道个大概了,它于管道的不同的是它有名字了。这就不同与管道只能在具有亲缘关系的进程间通信了。

它提供了一个路径名与之关联,有了自己的传输格式。有名管道和管道的不同之处还有一点是,有名管道是个设备文件,存储在文件系统中,没有亲缘关系的进程也可以访问,但是它要按照先进先出的原则读取数据。同样也是单双工的。

 

共享内存:就是分配一块能被其他进程访问的内存。共享内存可以说是最有用的进程间通信方式,也是最快的IPC形式。首先说下在使用共享内存区前,必须通过系统函数将其附加到进程的地址空间或说为映射到进程空间。两个不同进程A、B共享内存的意思是,同一块物理内存被映射到进程A、B各自的进程地址空间。进程A可以即时看到进程B对共享内存中数据的更新,反之亦然。

由于多个进程共享同一块内存区域,必然需要某种同步机制,互斥锁和信号量都可以。采用共享内存通信的一个显而易 见的好处是效率高,因为进程可以直接读写内存,而不需要任何数据的拷贝。对于像管道和消息队列等通信方式,则需要在内核和用户空间进行四次的数据拷贝,而共享内存则只拷贝两次数据[1]:一次从输入文件到共享内存区,另一次从共享内存区到输出文件。实际上,进程之间在共享内存时,并不总是读写少量数据后就 解除映射,有新的通信时,再重新建立共享内存区域。而是保持共享区域,直到通信完毕为止,这样,数据内容一直保存在共享内存中,并没有写回文件。共享内存 中的内容往往是在解除映射时才写回文件的。因此,采用共享内存的通信方式效率是非常高的。

 

信号:信号是在软件层次上对中断机制的一种模拟,在原理上,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的。

信号是异步的,一个进程不必通过任何操作来等待信号的到达,事实上,进程也不知道信号到底什么时候到达。信号是进程间通信机制中唯一的异步通信机制,可以看作是异步通知,通知接收信号的进程有哪些事情发生了。信号机制经过POSIX实时扩展后,功能更加强大,除了基本通知功能外,还可以传递附加信息。信号事件的发生有两个来源:硬件来源(比如我们按下了键盘或者其它硬件故障);软件来源。信号分为可靠信号和不可靠信号,实时信号和非实时信号。进程有三种方式响应信号1.忽略信号2.捕捉信号3.执行缺省操作。

 

信号量:也可以说是一个计数器,常用来处理进程或线程同步的问题,特别是对临界资源的访问同步问题。临界资源:为某一时刻只能由一个进程或线程操作的资源,当信号量的值大于或等于0时,表示可以供并发进程访问的临界资源数,当小于0时,表示正在等待使用临界资源的进程数。更重要的是,信号量的值仅能由PV操作来改变。 


信盈达

信盈达2008年在深圳特区南山高新科技园成立。自成立至今近九年来专注为企业和个人提供高端方案设计、高端嵌入式/Android培训等服务。公司下设信盈达实训学院、信盈达研发中心、信盈达教学仪器三大业务板块。九年来公司坚持"技术领先、服务领先",以雄厚的实力和专业的品质成为国内唯一有实力从产品最底层研发到系统层开发的嵌入式实训、产品解决方案提供商。为中国IT行业提供最具价值的职业教育服务。专业嵌入式、物联网、人工智能Java、单片机等课程,想了解更多信息点击立马咨询

主站蜘蛛池模板: 成人夜色视频在线观看网站 | 国产网站免费 | 美国一级片在线 | 国产情侣一区二区 | 久久久噜噜噜久久久午夜 | 成年男女免费大片在线观看 | 超级碰碰97免费公开在线视频 | 日韩成人精品在线 | 老司机免费福利在线观看 | a级大片免费看 | 欧美成人剧情中文字幕 | 欧美免赞性视频 | 国产a v高清一区二区三区 | 艾小青亚洲专区在线播放 | 精品一区二区三区视频在线观看免 | 成年人视频网站免费 | 国产精品人成福利视频 | 欧美一级毛级毛片 | 国产在线观看成人免费视频 | 国产的一级毛片完整 | 福利视频在线观看免费版 | 99在线免费观看视频 | 国产色系视频在线观看免费 | 欧美成人视屏 | 国产目拍亚洲精品一区二区三区 | 国产91免费 | 欧美亚洲欧美日韩中文二区 | 不卡的中文字幕 | 久久久久久久久久福利 | www.亚洲在线 | 欧美成人h精品网站 | 成人在线综合网 | 国内精品综合九九久久精品 | 国产目拍亚洲精品一区二区三区 | 日韩精品在线第一页 | 精品国产自在在线在线观看 | 欧美久久超级碰碰碰二区三区 | 国产成人一区二区三区在线视频 | 久久亚洲国产成人亚 | 国产成人a大片大片在线播放 | 欧美日韩综合在线视频免费看 |