论坛首页 入门技术论坛

求助:关于多线程的问题

浏览 2586 次
该帖已经被评为新手帖
作者 正文
   发表时间:2007-01-08  
怎么样写一段多线程的程序让它每隔10秒查询一次数据库然后在修改条件啊?
比如说: 有一张student表,里面有个type的字段...现在每隔10秒就查询type字段为0的学生所有信息...然后查询完后把type这个字段改为1......
对多线程这一块不是很明白...各位大侠帮个忙啊...写个例子让小弟知道...谢谢啦....
   发表时间:2007-01-08  
int delay = 10000; //milliseconds
  ActionListener taskPerformer = new ActionListener() {
      public void actionPerformed(ActionEvent evt) {
          //...Perform a task...
      }
  };

  new Timer(delay, taskPerformer).start();
0 请登录后投票
   发表时间:2007-01-08  
不一定用多线程的。还要看你的程序是运行在前台和后台。
0 请登录后投票
   发表时间:2007-01-08  
只增加一个线程就可以,在线程run中作while循环,每睡10秒钟就执行一次更新操作。
还可以通过TimerTask来做,比较简单,搜一下例子网上很多
0 请登录后投票
   发表时间: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!
0 请登录后投票
   发表时间:2007-01-08  
去查下文档,或者google下,不是都出来了.
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics