线程池的应用是为了多任务处理,那么多任务一般是放在任务队列。想知道每个任务应该怎么写?
一般定义个任务接口.队列泛型就是这个接口类型.任务接口中有一个任务入口方法,比如run啊什么的
在线程池处理的时候,调用出队元素的run方法
能不能用代码表现一下呢?就简单的框架就好了。还有,线程池的创建和使用的过程是怎么样的呢?我看这方面的资料看了好几天都没理出一个思路来,还是不知道怎么下手去写。
就像我现在遇到的问题:
我做了一个MFC程序,有几个对话框(DLG),每个DLG上都有数据库增删改查的功能,我想将每个DLG上的增删改查功能做成任务(task),进入任务队列,然后统一让线程池去执行这些任务,应该怎么实现?
@IT-famer: 设计一个任务队列类就行的`,之前有做过,不过代码是原来公司,不好直接贴.
这里说说重点.
1.任务队列,就是一个队列,里面的元素就是任务对象,
2.任务对象全部集成自任务接口,任务接口中只有一个run方法
3.任务处理线程,这个一定是要另开一个线程的.
4.任务处理线程里运行任务时一定要try起来,保证任务执行线程不会中断,
5.一个start方法,用来启动任务处理线程
6.任务处理间隔也要,比如队伍队列空时休息1秒钟这样.
7.一般还要加一个停止的标识.任务执行线程中要根据这个标识来判断是否执行,如果为false也可以暂停1秒钟这样