竞争条件
两个或多个进程读写某些共享数据,而最后的结果取决于进程运行的精确时序,称为竞争条件。凡涉及到资源的共享时就容易发生这样的事情。解决的办法是设立临界区,让进程互斥地访问共享资源。一个好的避免竞争条件的方案,必须满足4个条件:
任何两个进程不能同时处于临界区。不应对CPU的速度和数量做任何假设。临界区外运行的进程不得阻塞其它进程。不得让进程无限期等待进入临界区。
忙...
分类:
其他好文 时间:
2014-07-13 15:52:18
阅读次数:
256
CreatePipe function
创建匿名管道,返回读,写管道的handle。...
分类:
其他好文 时间:
2014-07-12 19:48:27
阅读次数:
264
/**********************************************************************
*Copyright (c) 2014,TianYuan
*All rights reserved.
*
* 文件名称: sigin.c
* 文件标识:无
* 内容摘要:利用信号实现进程间通信,测试代码. 把要发送的数据存放到文件中,并发送信号...
分类:
其他好文 时间:
2014-07-12 16:31:11
阅读次数:
244
共享内存是Linux下最快速、最有效的进程间通信方式。是多个进程可以把同一段内存映射到自己的进程空间,以此实现数据的共享与传输。即:对于不同的进程A、B,将同一块物理内存映射到进程A、B各自进程的地址空间,进程A能够及时地看到进程B对共享内存中数据的更新,反之B进程同样能够及时地看到进程A对共享内存中数据的更新。
共享内存存在于内核级别的一种资源,因此是所有进程间通信(IPC)方式中最快的一种。...
分类:
其他好文 时间:
2014-07-08 19:59:08
阅读次数:
189
标准I/O函数库提供了popen函数,它启动另外一个进程去执行一个shell命令行。这里我们称调用popen的进程为父进程,由popen启动的进程称为子进程。popen函数还创建一个管道用于父子进程间通信。父进程要么从管道读信息,要么向管道写信息,至于是读还是写取决于父进程调用popen时传递的参数...
分类:
其他好文 时间:
2014-07-06 18:31:07
阅读次数:
254
多进程编程
多进程编程包括如下内容:
复制进程影映像的fork系统调用和替换进程映像的exec系列系统调用。
僵尸进程以及如何避免僵尸进程
进程间通信(Inter-Process Communication,IPC)最简单的方式:管道
3种进程间通信方式:信号量,消息队列和共享内存
fork系统调用
#inclu...
分类:
系统相关 时间:
2014-07-06 08:09:00
阅读次数:
329
信号量分为两种
一种是简单的信号量,另一种是用于进程间通信的信号量集。...
分类:
编程语言 时间:
2014-07-03 16:32:04
阅读次数:
1243
管道是最早的Unix进程间通信形式,它存在于所有的Unix实现中。关于管道,有如下几点需要知道:
1、它是半双工的,即数据只能在一个方向上流动。尽管在某些Unix实现中管道可以是全双工的,但需要对系统进行某些设置。在Linux系统中,它是半双工的。
2、它没有名字,因此只能在具有公共祖先的进程之间使用。通常用在父子进程间。尽管这一点随着“有名管道FIFO”的加入得到改正了,但应该把它们看作是两...
分类:
其他好文 时间:
2014-07-03 15:50:50
阅读次数:
222
引用:http://community.csdn.net/Expert/TopicView3.asp?id=4374496linux下进程间通信的几种主要手段简介:1.管道(Pipe)及有名管道(namedpipe):管道可用于具有亲缘关系进程间的通信,有名管道克服了管道没有名字的限制,因此,除具有...
分类:
编程语言 时间:
2014-07-03 06:43:50
阅读次数:
275