首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Linux并发(多线程)

Linux并发(多线程)

作者头像
用户2617681
发布2019-08-08 15:25:43
发布2019-08-08 15:25:43
3.5K0
举报
文章被收录于专栏:秘籍酷秘籍酷

进程实际上是一个线程组,因此一个多线程进程就是一个团队,里面的每一条线程都可以被单独调度,提高了程序执行的并发性。

拓展:

通常,对于一个多任务的程序来说,需要创建多条线程,但是线程的多寡应该是由任务的轻重来决定的,因此对于一个更加灵活的多线程程序而言,更高级的使用技巧是所谓的线程池。

下面是一个线程池的实现模板样图,并处于初始状态:

有这么几点:

1,任务队列中刚开始没有任何任务,是一个具有头结点的空链队列。

2,使用互斥锁来保护这个队列。

3,使用条件变量来代表任务队列中的任务个数的变化——将来如果主线程往队列中投放任务,那么可以通过条件变量来唤醒那些睡着了的线程。

4,通过一个公共开关——shutdown,来控制线程退出,进而销毁整个线程池。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-05-11,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档