您的位置:首页 > 运维架构 > Linux

Linux并发(多线程)

2016-03-15 14:29 267 查看


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

 

拓展:

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

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

 



有这么几点:

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

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

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

4,通过一个公共开关——shutdown,来控制线程退出,进而销毁整个线程池。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: