C++使用pthread实现的线程池PthreadPool

本文介绍了如何在C++中使用pthread实现线程池,讨论了线程池的优势,并分享了一个改造后的C++版本线程池实现,包括类定义和对外接口。提供了一个简单的使用示例,并给出了源码的GitHub链接,为后续的扩展和改造提供了基础。
摘要由CSDN通过智能技术生成

在学习多线程的时候我们已经知道了像Java、C#这种更高级的语言已经提供了线程池给我们使用,我们也可以直接用就行了。但是在C/C++中,我们却没有一个现成的线程池可以用。

线程池的好处我们也都知道了,我们可以通过线程池对线程资源重用,线程的创建和销毁的开销是巨大的,而通过线程池的重用大大减少了这些不必要的开销。

正好最近在一门课程中需要用到一个发挥线程池作用地方,然而需要用pthread来维护线程,所以就找到了别的博客中的pthread线程池实现,正好学习一下线程池底层的工作原理。

原博客:https://blog.csdn.net/jcjc918/article/details/50395528

原博客中的线程池是纯C语言写的,虽然有面向对象的思想,但是用在我们别的地方代码中还是不太方便,所以我将其改造了一下,使用C++编写,更易于使用。

类定义

class PthreadPool
{
private:
    pthread_mutex_t lock;                             // 互斥锁
    pthread_cond_t notify;                            // 条件变量
    queue<Pthreadpool_Runable> thread_queue;          /
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值