繁体   English   中英

在指定的时间内执行的线程。

[英]Thread to execute for specified amount of time.

30秒将记录存储到SQLite DB中

我想在30秒内执行一个线程以将记录数发布到我们的服务器中。

如果线程超过30秒,则自行杀死线程。

使用计时器如下:

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

      @Override
      public void run() {                   //timer

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

      }
  }, 30000L);

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

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

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

  1. 使用thread.sleep(30000); 将线程休眠30秒。
  2. 在run()方法中实现将数据存储在数据库中的代码。
  3. 存储完记录的数据后,请使用thread.interrupt();

注意:不要使用thread.stop(); 因为它已被弃用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM