浏览 2586 次
锁定老帖子 主题:求助:关于多线程的问题
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2007-01-08
比如说: 有一张student表,里面有个type的字段...现在每隔10秒就查询type字段为0的学生所有信息...然后查询完后把type这个字段改为1...... 对多线程这一块不是很明白...各位大侠帮个忙啊...写个例子让小弟知道...谢谢啦.... 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-01-08
int delay = 10000; //milliseconds
ActionListener taskPerformer = new ActionListener() { public void actionPerformed(ActionEvent evt) { //...Perform a task... } }; new Timer(delay, taskPerformer).start(); |
|
返回顶楼 | |
发表时间:2007-01-08
不一定用多线程的。还要看你的程序是运行在前台和后台。
|
|
返回顶楼 | |
发表时间:2007-01-08
只增加一个线程就可以,在线程run中作while循环,每睡10秒钟就执行一次更新操作。
还可以通过TimerTask来做,比较简单,搜一下例子网上很多 |
|
返回顶楼 | |
发表时间:2007-01-08
public class Simple { private static final Log LOG = LogFactory.getLog(Simple.class); private volatile Map tasks = new HashMap(); private int stime = 10000; public Simple() { TaskBuilder builder = new TaskBuilder(); builder.start(); TaskHandler task = new TaskHandler(); task.start(); } public static void main(String[] args) { new Simple(); } private class TaskBuilder extends Thread { public void run() { while (true) { try { Thread.sleep(stime); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } //build something task and add into tasks LOG.info("builder something"); } } } private class TaskHandler extends Thread { public void run() { while (true) { if (tasks.isEmpty()) { continue; } else { for (Object key : tasks.keySet()) { Object task = tasks.remove(key); //do something } } } } } } 以前也有过你这样的需求! 用线程自己实现不是很好!建议用quartz! |
|
返回顶楼 | |
发表时间:2007-01-08
去查下文档,或者google下,不是都出来了.
|
|
返回顶楼 | |