2012-06-05 65 views
0

对于每30秒记录存储在SQLite DB线程执行指定的时间。

我想30秒内执行一个线程张贴到我们的服务器的记录数。

如果线程超过30秒则自行终止线程。

+0

give thread.sleep(3000);你想在哪里睡觉你的代码 –

回答

1

看看Handlers,特别是postDelayed(Runnable, long)方法。

这是指定一些代码在未来运行的轻量级方法,在您的情况下,您可以将其设置为30 seconds并检查有问题的代码是否仍在运行。

(例如,通过在代码运行时将boolean设置为true)并通过任何可用的方法杀死它。

3

使用定时器如下:

Timer t = new Timer(); 
    t.schedule(new TimerTask() { 

     @Override 
     public void run() {     //timer 

      System.out.println("done"); 
      this.cancel(); 

     } 
    }, 30000L); 
1
  1. 使用thread.sleep(30000);睡觉螺纹30秒。
  2. 在run()方法中实现用于将数据存储在数据库中的代码。
  3. 您的存储记录数据完成后使用thread.interrupt();

注意:不要使用thread.stop();,因为它是过时的方法。