多线程框架的搭建

最近在工作中有了搭建一个可重用的多线程框架的想法,尝试着做了实现。

1. 线程管理

线程池是必不可少的,出于开发时间的考量,使用glib的线程池api作为底层,进行封装;

封装时遇见了C风格和C++的冲突问题,如何定义让回调函数能够使用的虚函数?最后的解决方案是定义一个static的成员函数作为callback的adapter,传入this指针调用实际的process成员函数;

使用g_thread_pool_new创建新的线程池之前,需要做一个检查!  
if(!g_thread_supported()) {
    g_thread_init(NULL);
}
这样才能够避免出现由于g_thread_supported断言退出的情况。



评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值