ChinaUnix.net
相关文章推荐:

进程间通信 信号量

a放信息,b取信息,a之b 异步通信。 条件: 1、a放(put)信息时,b等待a放完之后,才能取信息。 2、b取信息时,a等待b取完之后,才能放(put)信息。 3、a不放(put)信息时,b可以连续取信息。 4、b不取信息时,a可以连续放(put)信息。 请问通过semphore如何实现?

by fishmanno1 - C/C++ - 2008-06-27 21:40:37 阅读(2306) 回复(6)

相关讨论

有这样一个需要: 一类,他们需要相互通信,每个人发的消息,其他的都要收到,用什么方式比较好?

by smalloc - C/C++ - 2009-04-30 13:05:23 阅读(1519) 回复(6)

System V IPC 框架 提供3种服务:消息队列、信号量阵列以及共享内存块。 通过3类锁确保正确性:命名空锁(namespace lock), 槽锁(slot lock), p_lock. 共享内存(非常高效的多共享数据方式) 比较有趣的是紧密共享内存方式(ISM),紧密共享内存方式最早是作为一种优化引进Solaris2.2的,它允许底层内核数据和结构的共享。 非ISM系统中为共享内存页面维护每个的映射信息,系统为共享内存页面生...

by kingthr - Solaris文档中心 - 2009-03-30 22:28:46 阅读(1701) 回复(0)

我想写一个服务器端的序,该序使用池的方法,父预创建n个子,父使用PIPE与子进行通信。父接受来自网络请求(就是accept()),然后把这个网络请求交给预先创建好的子处理,现在的问题是父accept得到了套接字connfd后,如何把这个请求传给子?子里需要从这个网络请求中读取数据并作出回应。 我知道不能简单的把connfd传给子,因为子是在accep之前创建好的,所以子这时已经...

by wcw - C/C++ - 2009-03-23 11:53:46 阅读(13899) 回复(45)

(1) 客户端连接服务器时必须指定客户端端口吗?我认为不需要,系统会自动分配给客户端一个端口。 (2) 如果在客户端指定了端口,那么这个端口必须与服务器端端口相同吗? 下面一段小序运行时,必须在客户端命令行上输入与服务器端相同的端口,才能连接成功,否则,拒绝连接。大家帮忙看看怎么回事,是不是序有问题? [code]/******* 服务器序 (server.c) ************/ #include #include #include

by kewenliang - C/C++ - 2008-09-28 21:12:17 阅读(3349) 回复(7)

下面的代码 是两个序!一个输出,一个输入的! 无论先运行哪个 结果都是输出:“shmat error”! 是我的参数 设置错误吗? #define BUF_SIZE 1024 #define MYKEY 24 int main() { int shmid; char* shmptr; if((shmid=shmget(MYKEY,BUF_SIZE,IPC_CREAT))==-1) { printf("shmget error!\n"); exit(1); } if((shmptr=shmat(shmid,0,0))==(void*)(-1)) { fprintf(stderr,"shmat eror!\n"); exit(1); } while(1) ...

by jqx55ah - C/C++ - 2008-09-13 22:39:41 阅读(2232) 回复(13)

作者: pascal4123 出处: pascal4123.cublog.cn (转载敬请注明作者或出处) 当脚本产生大量线时,很自然地,线会产生通信(改变和访问共享全局内存)的需求。有些情况需要小心对待,使用锁来同步对共享对象的访问。但这是一种比较老实的通信模式。 当脚本启动序时,事情并没有这么简单。如果我们限制通信的类型,有许多手段。比如: 1. 命令行参数 2. 标准流重定向 3. os.popen调用产生的管道 4. 序退...

by pascal4123 - Python文档中心 - 2010-12-27 09:36:48 阅读(12878) 回复(3)

我看到很多项目中通信(不相关)都使用了socket,但是个人习惯使用fifo。我的问题是,与fifo相比,socket有什么优势和劣势?

by weedeater - C/C++ - 2008-01-18 13:19:23 阅读(5870) 回复(11)

我在序中创建了一个子,让子运行到特定情况的时候就通知父杀了它,请问各位高手有什么好的方法???

by freeboy8218 - C/C++ - 2005-03-23 09:19:19 阅读(1229) 回复(2)

Linux环境通信 ——无名管道工作机制研究 引言 Linux作为一个开源的操作系统,是我们进行操作系统和提高编水平的最佳途径之一。 好的序如同好的音乐一样,完成的完美、巧妙。开放源码的序都是经过无数人检验地,本文将以linux-kernel-2.6.5为例对pipe的工作机制进行阐述。 一、 通信的分类 大型序大多会涉及到某种形式的通信,一个较大型的应用序设计成可以相互通信的“碎片”,...

by softcao - Linux论坛 - 2005-03-21 20:59:34 阅读(631) 回复(0)

我创建了一个信号量在父中,然后我想在fork出来的子中使用(读写),我是直接使用信号量变量呢,还是需要打开信号量(创建)? 父中:new IPC::Semaphore(IPC_PRIVATE,3,0722|IPC_CREAT);创建信号量。 在某些资料中我看到new IPC::Semaphore(10023,3,0200);去打开一个信号量,我想知道10023是信号量ID吗?两个new中参数,10023含义我不是很明确!

by 流言飞语 - Perl - 2005-01-24 15:27:18 阅读(1707) 回复(1)