POSIX信号量相关函数:
sem_open
sem_close
sem_unlink
sem_init
sem_destroy
sem_wait
sem_post
POSIX互斥锁
pthread_mutex_init
pthreaad_mutex_lock
pthread_mutex_unlock
pthread_mutex_...
分类:
其他好文 时间:
2014-06-05 12:39:14
阅读次数:
412
最近遇到一个问题.就是
我在io线程里不断的把一个函数调用放到队列里
然后ruby线程就不断的从这个队列里取出函数之争并执行.
典型的 消费者模式.
我以前以为是这样...
这是work线程
pthread_mutex_lock(&mutex2)
while(( invoke = get_invoke() ) != NULL){
do_invoke(invo...
分类:
其他好文 时间:
2014-06-04 22:35:56
阅读次数:
408
在整理Java LockSupport.park()的东东,看到了个"Spurious wakeup",重新梳理下。
首先来个《UNIX环境高级编程》里的例子:
#include
struct msg {
struct msg *m_next;
/* ... more stuff here ... */
};
struct msg *workq;
pthread_cond_t qread...
分类:
其他好文 时间:
2014-06-02 04:45:19
阅读次数:
267
3. 线程控制
1). 线程属性
目标:可以设置 线程的 detached/join 状态,线程栈的大小和最低地址等属性。
detached/join 状态的区别:
当线程处于 分离状态(detached)时,线程结束时,os立即回收资源。主线程不可以调用pthread_join获取线程退出时的返回值。
当线程...
分类:
编程语言 时间:
2014-06-01 17:51:03
阅读次数:
508
//从别处拷贝过来的,只作为自己查看方便,原作者不详,请谅解。一:关于joinjoinjoin是三种同步线程的方式之一。另外两种分别是互斥锁(mutex)和条件变量(condition
variable)。调用pthread_join()将阻塞自己,一直到要等待加入的线程运行结束。可以用pthrea...
分类:
其他好文 时间:
2014-05-28 02:13:20
阅读次数:
351
很久没看APUE,今天一位朋友问道关于一个mutex的问题,又翻到了以前讨论过的东西,为了不让自己忘记,把曾经的东西总结一下。
先大体看下网上很多地方都有的关于pthread_cond_wait()的说明:条件变量
条件变量是利用线程间共享的全局变量进行同步的一种机制,主要包括两个动作:一个...
分类:
其他好文 时间:
2014-05-28 01:37:12
阅读次数:
301
进程/线程控制: 创建 退出 等待 多进程 fork() exit() wait()
多线程pthread_createpthread_exit()pthread_join()线程的同步与互斥:线程的互斥...
分类:
编程语言 时间:
2014-05-26 23:46:42
阅读次数:
318
线程属性
初始化与销毁属性
int pthread_attr_init(pthread_attr_t *attr);
int pthread_attr_destroy(pthread_attr_t *attr);
获取与设置分离属性
int pthread_attr_getdetachstate(const pthread_attr_t *attr, int *detachsta...
分类:
编程语言 时间:
2014-05-24 21:49:29
阅读次数:
361
1.如何创建线程
用pthread_create创建线程...
分类:
编程语言 时间:
2014-05-24 18:35:03
阅读次数:
410
POSIX线程库:
与线程有关的函数构成了一个完整的系列,绝大多数函数的名字都是以“pthread_”打头的
要使用这些函数库,要通过引入头文
链接这些线程函数库时要使用编译器命令的“-lpthread”选项
pthread_create函数
功能:创建一个新的线程
原型
int pthread_create(pthread_t *thread, cons...
分类:
编程语言 时间:
2014-05-22 23:43:59
阅读次数:
427