线程池中线程的控制
来源:互联网 发布:pt6.0设置trunk端口 编辑:程序博客网 时间:2024/06/09 17:33
版权所有,转载请与作者联系。
在描述线程池的原理时,一般都会看到如下描述:
先启动若干数量的线程,并让这些线程都处于睡眠状态,当客户端有一个新请求时,就会唤醒线程池中的某一个睡眠线程,让它来处理客户端的这个请求,当处理完这个请求后,线程又处于睡眠状态。
刚开始的时候以为线程只执行任务就好,执行完之后用SuspendThread()函数挂起就行,下次有任务的时候再唤醒线程;
后来发现,唤醒线程之后线程从上次调用SuspendThread()函数后开始执行,因此,用SuspendThread()函数来控制线程的停止、运行不可行
解决办法:线程的回调函数用一个While(true)循环来执行任务;由主线程通过事件来控制线程的执行,实现类似SuspendThread()的操作;副线程通过另一个事件Event来通知主线程,任务是否执行完毕。
如下图:
- 线程池中线程的控制
- 多线程(线程的概述,创建线程,控制线程,线程同步,线程池)
- 线程的概念&线程控制&分离线程
- 线程中不可控制异常的处理
- JAVA中控制线程的方法
- linux 的线程控制
- 线程的数量控制
- 线程的控制 --- yunboy4
- 线程的同步控制
- 线程的同步控制
- 线程的基本控制
- 线程的控制等待
- 线程的循环控制
- 线程生命周期的控制
- 线程的控制
- Java的线程控制方法和线程池
- 线程池的使用,以及控制APP并发线程数
- 关于线程池的中线程累加
- Linux中的work queue
- 如何提高阅读源代码的效率
- 十道海量数据处理面试题与十个方法大总结
- Linux服务器维护 统计连接数查看外部IP
- 根据参数,输出产品个数
- 线程池中线程的控制
- 深入浅出--UNIX多进程编程之fork()函数
- java泛型类的使用
- poj 1733 parity game
- 虚拟存储器的分类介绍
- WCF的流程
- C# API 如何保证使用托管对象的平台调用成功
- StretchDIBits函数(来自MSDN:StretchDIBits Function)
- html5 小游戏