Linux并发(多线程)
2016-03-15 14:29
267 查看
进程实际上是一个线程组,因此一个多线程进程就是一个团队,里面的每一条线程都可以被单独调度,提高了程序执行的并发性。
拓展:
通常,对于一个多任务的程序来说,需要创建多条线程,但是线程的多寡应该是由任务的轻重来决定的,因此对于一个更加灵活的多线程程序而言,更高级的使用技巧是所谓的线程池。
下面是一个线程池的实现模板样图,并处于初始状态:
有这么几点:
1,任务队列中刚开始没有任何任务,是一个具有头结点的空链队列。
2,使用互斥锁来保护这个队列。
3,使用条件变量来代表任务队列中的任务个数的变化——将来如果主线程往队列中投放任务,那么可以通过条件变量来唤醒那些睡着了的线程。
4,通过一个公共开关——shutdown,来控制线程退出,进而销毁整个线程池。
相关文章推荐
- nodejs4.4.0安装Linux
- linux 常用命令
- centos6.5 扩容
- linux内核编程笔记【原创】
- Linux查看平均负载[cat /proc/loadavg]
- Xargs用法详解 (Linux 命令使用)
- 汇总Linux命令 --查看环境变量,查看已安装包信息
- linux route命令的使用详解
- Linux ipcs 命令详解
- linux RTC 驱动模型分析【转】
- linux 实时时钟(RTC)驱动【转】
- Linux开机启动十步骤
- Linux hrtimer分析(2)
- Linux 常用命令备忘
- 如何利用多核CPU来加速你的Linux命令 — awk, sed, bzip2, grep, wc等(转)
- Linux hrtimer分析(一)
- 汇总Linux命令 --查看语言,安装包
- CentOS 安装nexus并设置为系统服务
- 10 examples of Linux ss command to monitor network connections
- Linux系统修正MySQL中文乱码问题