Linux线程
zmxiangde_88
这个作者很懒,什么都没留下…
展开
-
Linux线程-pthread_join
pthread_join用来等待另一个线程的结束,函数原型如下: extern int pthread_join __P ((pthread_t __th, void **__thread_return)); 这个调用之后,如果没有出错,会引起调用线程的阻塞,直到所等待的线程结束。这个调用的第一个参数很容易理解,表示需要等待哪个线程,第二个参数是我们自己定义的一个指针变量,原创 2012-09-19 22:10:59 · 2271 阅读 · 0 评论 -
Linux线程-终止
在前文讨论了线程创建的一些基本东西,这里讨论有哪些方法可以使线程终止,线程终止又是如何与创建所需的参数进行关联的。一,正常终止 线程在执行完成之后,正常终止。二,线程取消2.1 线程取消的定义 一般情况下,线程在其主体函数退出的时候会自动终止,但同时也可以因为接收到另一个线程发来的终止(取消)请求而强制终止。2.2 线程取消的语义 线程取消的方法是向目原创 2012-09-19 21:45:38 · 15264 阅读 · 0 评论 -
Linux线程-pthread_kill
该函数可以用于向指定的线程发送信号: int pthread_kill(pthread_t threadId,int signal); 如果线程内不对信号进行处理,则调用默认的处理程式,如SIGQUIT会退出终止线程,SIGKILL会杀死线程等等,可以调用signal(SIGQUIT, sig_process_routine); 来自定义信号的处理程序。 传递的p原创 2012-09-19 22:26:20 · 44927 阅读 · 0 评论 -
Linux线程-创建
Linux的线程实现是在内核以外来实现的,内核本身并不提供线程创建。但是内核为提供线程【也就是轻量级进程】提供了两个系统调用__clone()和fork (),这两个系统调用都为准备一些参数,最终都用不同的参数调用do_fork()核内API。do_fork()提供了很多参数,包括CLONE_VM(共享内存空间)、CLONE_FS(共享文件系统信息)、CLONE_FILES(共享文件描述符表)、C原创 2012-09-19 21:28:37 · 5733 阅读 · 0 评论 -
Linux线程-互斥锁pthread_mutex_t
在线程实际运行过程中,我们经常需要多个线程保持同步。这时可以用互斥锁来完成任务;互斥锁的使用过程中,主要有pthread_mutex_init,pthread_mutex_destory,pthread_mutex_lock,pthread_mutex_unlock这几个函数以完成锁的初始化,锁的销毁,上锁和释放锁操作。一,锁的创建 锁可以被动态或静态创建,可以用宏PTHRE原创 2012-09-20 07:31:47 · 149952 阅读 · 0 评论 -
生产者/消费者
#include #include #define BUFFER_SIZE 16 // 缓冲区数量struct prodcons{ // 缓冲区相关数据结构 int buffer[BUFFER_SIZE]; /* 实际数据存放的数组*/ pthread_mutex_t lock; /* 互斥体lock 用于对缓冲区的互斥操作 */ int readpos,转载 2012-09-20 08:25:59 · 2329 阅读 · 1 评论