- 博客(4)
- 收藏
- 关注
转载 互斥锁与条件变量
pthread_cond_wait总和一个互斥锁结合使用。在调用pthread_cond_wait前要先获取锁。pthread_cond_wait函数执行时先自动释放指定的锁,然后等待条件变量的变化。在函数调用返回之前,自动将指定的互斥量重新锁住。int pthread_cond_signal(pthread_cond_t * cond);pthread_cond_signal通过
2017-03-15 17:05:44 334
转载 条件变量:pthread_cond_wait使用while循环判断的理解
Stevens的《Unix 环境高级编程》中第11章线程关于pthread_cond_wait的介绍中有一个生产者-消费者的例子P311,在进入pthread_cond_wait前使用while进行条件判断,而没有直接使用if,耐人费解!代码如下:#include struct msg { struct msg *m_next; /* value...*/};s
2017-03-08 21:22:13 2152
原创 Posix消息队列 异步通知 mq_notify函数
System V消息队列的问题之一是无法通知一个进程何时在某个队列中放置了一个消息。采用轮询(poling),是对CPU时间的一种浪费。Posix消息队列容许 异步事件通知,以告知何时有一个消息放置到某个空消息队列中。该通知有两种方式:当一个消息被放置某个空队列时,样么产生一个信号来通知,样么通过创建一个线程来执行一个特定程序,来完成消息到来时的该做的事情。这种通知通过调用mq_not
2017-02-28 09:50:40 1237
转载 LINUX C中sigprocmask()函数用法
1、有时候不希望在接到信号时就立即停止当前执行,去处理信号,同时也不希望忽略该信号,而是延时一段时间去调用信号处理函数。这种情况是通过阻塞信号实现的。2、信号阻塞和忽略信号的区别。阻塞的概念和忽略信号是不同的。操作系统在信号被进程解除阻塞之前不会讲信号传递出去,被阻塞的信号也不会影响进程的行为,信号只是暂时被阻止传递。当进程忽略一个信号时,信号会被传递出去但进程会将信号丢弃。
2017-02-27 10:20:30 13036
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人