![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux
文章平均质量分 78
wqxxiaozaizi
事情都已经做了,就别说你错了、
展开
-
线程死锁
一 、 死锁的感念同一个线程先后两次调用lock,在第一次调用时,由于锁已经被占,该线程会挂起等待别的线程释放锁,然而锁正是被自己占着的,该线程又被挂起,没有机会释放锁,因此,就永远处于挂起等待状态了,这就叫做死锁。二、产生死锁的原因(1).竞争资源。当系统中供多个线程共享的资源如打印机,公用队列等,其数目不足以满足诸线程的需要的时候,会引起诸线程对资源的竞争而产生死锁。(原创 2017-06-03 13:50:38 · 262 阅读 · 0 评论 -
管道
管道是单向的、先进先出的、无结构的字节流,它把一个进程的输出和另一个进程的输入连接在一起。写进程在管道的尾端写入数据,读进程在管道的首端读出数据。数据读出后将从管道中移走,其它读进程都不能再读到这些数据。管道提供了简单的流控制机制。进程试图读一个空管道时,在数据写入管道前,进程将一直阻塞。同样,管道已经满时,进程再试图写管道,在其它进程从管道中读走数据之前,写进程将一直阻塞。原创 2017-06-03 14:08:29 · 351 阅读 · 0 评论 -
共享内存
共享内存: #include #include #include int main() { int segment_id; char* shared_memory; struct shmid_ds shmbuffer; int segment_size; const int shared原创 2017-06-03 16:46:22 · 213 阅读 · 0 评论 -
线程
一、线程标识线程有ID, 但不是系统唯一, 而是进程环境中唯一有效.线程的句柄是pthread_t类型, 该类型不能作为整数处理, 而是一个结构.两个函数:头文件: 原型: int pthread_equal(pthread_t tid1, pthread_t tid2);返回值: 相等返回非0, 不相等返回0.说明: 比较两个线程ID是否相等. 头文件原创 2017-06-08 19:44:37 · 197 阅读 · 0 评论 -
消息队列
消息队列提供了一种一个进程向另一个进程发送一个数据块的方法。消息队列与管道不同的是,消息队列是基于消息的,而管道是基于字节流的。消息队列的创建或取得一个已存在的消息队列: int msgget(key_t key,int msgflag);其中的参数: key: 由ftok函数生成; msgflag: IPC_CREAT:如原创 2017-06-08 23:28:17 · 153 阅读 · 0 评论