ChinaUnix.net
相关文章推荐:

Linux 进程之间信号量

fork一个子进程每分钟用一个hash的内容更新数据库,另外有约十台客户(fork的进程)要对这个hash的数据读、写。 用进程有什么好办法来实现这个hash的共享(我现在是用一个文件)?最好是多介绍几种机制。优缺点也请说一下。 我基于线程来做也可以做到。但都说perl线程不够稳定,特别是涉及内存共享。所以不敢用于正式环境。

by yemaofr - Perl - 2009-05-17 20:30:33 阅读(2076) 回复(4)

相关讨论

:?: linux下如何实现进程之间的读写锁

by wangsf615 - Linux论坛 - 2003-10-28 10:41:42 阅读(598) 回复(0)

代码如下。 我的疑惑是:为什么父进程不sleep 60秒,而是随着子进程的结束而结束了?难道是处理SIGCHDL信号导致sleep(60)调用提前结束了吗? [code] #include ; #include ; #include ; #include ; #include ; #include ; #include ; sig_atomic_t child_exit_code; int clean_up_child_processes(int sigNum) { int status; wait(&status); c...

by DirtyBear - C/C++ - 2005-08-24 17:36:15 阅读(2471) 回复(3)

我们知道,多个进程访问同一块数据,可能会引起数据的不一致性,所以我们使用信号量来同步。一般是在访问共享数据前,进行P操作,访问共享数据之后进行V操作。P操作是对资源量进行减1,如果为资源量为0,则进程挂起,等待别的进程释放此类资源,如果不为0,则访问共享资源。V操作是对资源量进行加1,如果资源量大于0,则唤醒正在等待此资源的进程。 OK,我看项目的代码,提供的对共享资源信号量的处理一般是这样: if ( semop(...

by 瞬间思路 - C/C++ - 2007-08-14 18:12:52 阅读(2866) 回复(2)

linux的实际开发中,遇见内存非法访问的问题,在程序中扑获以后,不能返回程序出错地方的下一条语句,而且该信号不能忽略, 紧急求助可以忽略该信号的方法或者 找到发生错误的语句的方法

by tanchanghe - 内核/嵌入技术 - 2005-02-25 11:00:10 阅读(1454) 回复(3)
by dxbh - C/C++ - 2008-08-21 18:48:23 阅读(2054) 回复(5)

对于纯程,哪一个实现得比较好呢,是 Win98 、还是 Win200 、还是 linux 或 SOLARIS 或 别的什么操作系统呢? linux 现在对用户级线程的实现做得怎么样了?还是以前的轻量级进程吗? Thanks 。

by 新警察 - C/C++ - 2004-07-13 08:16:53 阅读(1514) 回复(7)

我做了N次测试RH linux 9 ,好像POSIX 信号量不能同步进程,好像是针对pthread的,^_^,但pthread 有自己的库函数比POSIX信号量好用很多是不是啊。好像SYSV可以同步进程和mmap 内存。虚心求教各位有IPC经验的高手。 [ 本帖最后由 zhoujianxin 于 2007-3-19 19:40 编辑 ]

by zhoujianxin - C/C++ - 2007-03-19 18:16:04 阅读(1187) 回复(0)

比如signal 有31种 它们的用法和如何对它们进行管理 我们现在将的都是关于这样的程序 如 int main(void){ signal(SIGINT ,gestionnaire); while(1){} return 0; }

by kidd_wangbo - Linux论坛 - 2004-01-30 08:48:55 阅读(625) 回复(0)

代码如下: sem_t sem; sem_init(&sem,0,0); ... task1: .... sem_wait(&sem); .... task 2: .... sem_post(&sem); .... 问题:为什么有时候sem_post 后 task1 一直在那里等,根本不回来。task 就是一个线程。望知情者给予帮助。谢谢 ....

by hongbupt - C/C++ - 2007-02-17 06:15:28 阅读(1437) 回复(2)

[code] #include #include #include #include #include #include #include #include //#include #include #define PERMS S_IRUSR|S_IWUSR #define MAX_COUNT 10240 void init_semaphore_struct(struct sembuf *sem,int semnum,int semop,int semflg){ /**/ sem->sem_num=semnum; sem->sem_op=semop; sem-...

by amoyppa - C/C++ - 2010-12-02 15:15:13 阅读(2065) 回复(3)