"https://stackoverflow.com/questions/4424193/what happens to mutex when the thread which acquired it exits?noredirect=1&lq=1" 解释当一个lock了mutex的线程退出了,却没 ...
分类:
编程语言 时间:
2018-12-13 16:20:23
阅读次数:
245
因为要处理最近项目中碰上的多个子进程退出信号同时到达,导致程序不当产生core的情况,今天我花了时间看了一些关于linux信号处理的博客。 总结一下:(知识未经实践) (直接粘贴文字变成一行,所以使用插入代码的方式) 14 Linux支持的信号列表如下。很多信号是与机器的体系结构相关的 信号值 默认 ...
分类:
系统相关 时间:
2018-12-09 20:12:02
阅读次数:
243
多线程编程之信号量 Pthread是 POSIX threads 的简称。是POSIX的线程标准。 相互排斥量用来处理一个共享资源的同步訪问问题,当有多个共享资源时,就须要用到信号量机制。 信号量机制用于保证两个或多个共享资源被线程协调地同步使用。信号量的值相应当前可用资源的数量。 1.信号量(sa ...
分类:
编程语言 时间:
2018-12-09 14:20:36
阅读次数:
196
linux下为了多线程同步,通常用到锁的概念。posix下抽象了一个锁类型的结构:ptread_mutex_t。通过对该结构的操作,来判断资源是否可以访问。顾名思义,加锁(lock)后,别人就无法打开,只有当锁没有关闭(unlock)的时候才能访问资源。即对象互斥锁的概念,来保证共享数据操作的完整性 ...
分类:
其他好文 时间:
2018-12-02 20:02:54
阅读次数:
202
在main线程中调用 会起到只让main线程退出,但是保留进程资源,供其他由main创建的线程使用,直至所有线程都结束,但在其他线程中不会有这种效果 "https://stackoverflow.com/questions/3559463/is it ok to call pthread exit ...
分类:
编程语言 时间:
2018-12-01 17:12:30
阅读次数:
211
condition.h #ifndef _CONDITION_H_#define _CONDITION_H_ #include <pthread.h> //封装一个互斥量和条件变量作为状态typedef struct condition{ pthread_mutex_t pmutex; pthrea ...
分类:
编程语言 时间:
2018-11-30 14:03:35
阅读次数:
253
系统的默认搜索依赖库路径为,/usr/local/lib 在camkelists.txt文件中对可执行文件链接libmsc.so 会报错 libmsc.so是一个第三方库,并不存在于系统的默认路径中,搜索不到 因此一个简答的方法是把libmsc.so放到/usr/local/lib目录下,就可以解决 ...
分类:
其他好文 时间:
2018-11-29 20:09:12
阅读次数:
3463
1.原理假设有两个线程同时访问一个全局变量 n,这个全局变量的初始值等于0。Int n = 0 ; 消费者线程 A 进入临界区,访问 n,A 必须等到 n 大于 0 才能接着往下执行,如果 n== 0,那么 A 将一直等待。 还有一个生产者线程 B,B 进入临界区,修改 n 的值,使得 n >0,当 ...
分类:
其他好文 时间:
2018-11-24 23:54:20
阅读次数:
226
1 struct QNode 2 { 3 struct Node *front; 4 struct Node *tail; 5 unsigned int len; 6 }; 7 8 9 struct Qlist 10 { 11 struct QNode *qlist; 12 pthread_mute... ...
分类:
编程语言 时间:
2018-11-24 21:05:43
阅读次数:
195
#include #include #include #define NUM 3 int n=0; pthread_mutex_t t_mutex; pthread_cond_t t_cond; void *Execute(void *p) { int i=0; int para = (int)p;... ...
分类:
编程语言 时间:
2018-11-24 21:03:08
阅读次数:
219