函数简介函数pthread_join用来等待一个线程的结束。函数原型为:extern int pthread_join (pthread_t__th, void **__thread_return);第一个参数为被等待的线程标识符,第二个参数为一个用户定义的指针,它可以用来存储被等待线程的返回值。这...
分类:
其他好文 时间:
2014-07-01 23:16:49
阅读次数:
336
1. detach , join的问题detach表示线程结束后由系统自动回收。主进程不再管。join表示主进程一直等待直到线程结束。一个线程必须pthread_join或者pthread_detach,否则内存泄露。如果想创建一个不需要管的线程,pthread_attr_setdetachstat...
分类:
其他好文 时间:
2014-07-01 19:59:04
阅读次数:
282
生产者:不停地往队列中放数据
消费者:不停地从队列中拿数据
两者通过两个信号量同步
当生产者不再生产数据时,消费者正好挂在一个信号量上,处于睡眠状态,这时候pthread_join也会一直挂着的。该怎样使得消费者正常退出呢?
我的做法是让生产者在往队列中放一个【结束数据】,也就是一个标识,消费者拿到数据后,如果这个数据是结束标识则自杀退出。...
分类:
编程语言 时间:
2014-06-25 00:07:17
阅读次数:
225
对象操作Linux APIWindows API线程创建pthread_create()CreateThread()退出pthread_exit()ThreadExit()等待pthread_join()WaitForSingleObject()互斥锁创建pthread_mutex_init()Cr...
分类:
Windows程序 时间:
2014-06-20 17:23:05
阅读次数:
1095
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
进程/线程控制: 创建 退出 等待 多进程 fork() exit() wait()
多线程pthread_createpthread_exit()pthread_join()线程的同步与互斥:线程的互斥...
分类:
编程语言 时间:
2014-05-26 23:46:42
阅读次数:
318
pthread_join 函数是会阻塞主线程的,这会让很多java程序员不适应。因为在java中
start以后一个线程就执行执行了。主线程不会被阻塞。而在linux中 join是会阻塞的。那么如何使用join的时候
不阻塞主线程呢。我给出了一个解决方法。#include #include void...
分类:
编程语言 时间:
2014-05-24 05:59:40
阅读次数:
571
pthread_create()
创建线程,pthread_join()让线程一直运行下去。链接时要加上-lpthread选项。pthread_create中, 第三个参数为线程函数,定义如下:
void * heartbeat_thread() { ... }下面是main.c :#i...
分类:
编程语言 时间:
2014-05-08 23:55:54
阅读次数:
486