![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linuxC语言编程基础
文章平均质量分 78
王爱科
这个作者很懒,什么都没留下…
展开
-
多线程用互斥锁和条件变量实现生产者和消费者-------循环任务队列
互斥锁与条件变量简介 在多线程的环境中,全局变量会被各线程共享,因此在操作全局变量的时候需要采用锁机制,在linux里最常用的锁就是互斥锁,互斥锁使用方法如下 //线程A pthread_mutex_lock(&lock); ...; //对共享数据操作 pthread_mutex_unlock(&lock); 这段代码会包括在每一个试图操作共享变量的线程里面,这样就能实现原创 2015-01-19 13:59:07 · 2760 阅读 · 0 评论 -
c语言实现的多态栈——短小精悍
1、数据结构——栈 栈作为一种数据结构,是一种只能在一端进行插入和删除操作的特殊线性表。它按照先进后出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)。栈具有记忆作用,对栈的插入与删除操作中,不需要改变栈底指针。 栈是允许在同一端进行插入和删除操作的特殊线性表。允许进行插入和删除操作的一端称为栈顶(top),另一端为原创 2015-03-28 16:24:07 · 776 阅读 · 0 评论 -
用c++实现的线程池,简单易懂
1、什么是线程池? 线程池是预先创建线程的一种技术。线程池在还没有任务到来之前,创建一定数量的线程,放入空闲队列中。这些线程都是处于睡眠状态,即均为启动,不消耗CPU,而只是占用较小的内存空间。当请求到来之后,缓冲池给这次请求分配一个空闲线程,把请求传入此线程中运行,进行处理。当预先创建的线程都处于运行状态,即预制线程不够,线程池可以自由创建一定数量的新线程,用于处理更多的请求。当系统比较闲原创 2015-03-24 14:05:41 · 911 阅读 · 1 评论