什么时候手动创建线程而不使用线程池
2011-05-12 15:45
302 查看
1、需要自定义线程的优先级,线程池中线程总是Normal
2、需要一个前台线程,线程池中线程是后台线程
非UI线程最好使用线程池创建为后台线程,常常关闭一个软件之后,仍然占有内存,就是由于创建了多个前台线程,程序关闭的时候,还有其他前台线程没有关闭。
3、需要手动终止线程,线程池不具有这种功能。
4、线程执行时间长,线程池目的是为了线程重用,省去创建新线程的额外开销,多适用于多而执行时间短的线程。线程池创建线程是滞后的,不会发现线程不够立即去创建新线程,会有个延时,以确保真正的需要创建新线程。
2、需要一个前台线程,线程池中线程是后台线程
非UI线程最好使用线程池创建为后台线程,常常关闭一个软件之后,仍然占有内存,就是由于创建了多个前台线程,程序关闭的时候,还有其他前台线程没有关闭。
3、需要手动终止线程,线程池不具有这种功能。
4、线程执行时间长,线程池目的是为了线程重用,省去创建新线程的额外开销,多适用于多而执行时间短的线程。线程池创建线程是滞后的,不会发现线程不够立即去创建新线程,会有个延时,以确保真正的需要创建新线程。
相关文章推荐
- 什么时候手动创建线程而不使用线程池
- 基础篇:线程的创建与线程池的使用(一)
- 使用线程池而不是创建线程
- 常量,字段,构造方法 调试 ms 源代码 一个C#二维码图片识别的Demo 近期ASP.NET问题汇总及对应的解决办法 c# chart控件柱状图,改变柱子宽度 使用C#创建Windows服务 C#服务端判断客户端socket是否已断开的方法 线程 线程池 Task .NET 单元测试的利剑——模拟框架Moq
- Java中的线程创建,以及使用四种线程池对线程进行管理
- 使用新的java线程池技术创建固定的线程去完成任务,都完成后计算总时间
- C#使用线程池创建线程
- TCP并发服务器(六)——创建线程池,每个线程accept,accept使用互斥锁保护——基于UNP代码
- Java并发编程——线程池的使用(二) 手动创建线程池以及线程池的拒绝策略
- 使用 线程池,控制线程 , 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待:
- 创建和使用线程
- java多线程编程之使用thread类创建线程
- 创建线程后使用pthread_detach函数的作用
- 谨慎使用DLL_THREAD_ATTACH,以及利用DLL_THREAD_ATTACH来阻止远程线程的创建执行
- 并发:线程池异步执行与创建单独的线程执行
- 线程创建, 使用, 释放代码
- 在Delphi中创建线程,请一定使用BeginThread()代替CreateThread()创建线程!
- 避免使用CreateThread 创建线程
- MFC 线程创建在使用构造函数进行初始化线程的时候,创建线程实例了,但是线程并没有执行的问题
- C#基础:使用Thread创建线程