美文网首页
Android开发延时示例2023-07-07

Android开发延时示例2023-07-07

作者: 艾希红红 | 来源:发表于2023-07-06 16:56 被阅读0次

    DelayedTask 类提供了一种延时执行任务的功能

    import java.util.concurrent.*;
    
    public class DelayedTask {
        private ExecutorService executorService;
    
        public DelayedTask() {
            executorService = Executors.newSingleThreadExecutor();
        }
    
        /**
         * 延时指定时间后执行任务
         *
         * @param delayTime 延时时间(毫秒)
         */
        public void delay(long delayTime) {
            ConnectResultTask task = new ConnectResultTask();
            Future<Integer> future = executorService.submit(task);
    
            try {
                // 阻塞等待任务完成或达到指定的延时时间
                future.get(delayTime, TimeUnit.MILLISECONDS);
            } catch (InterruptedException | ExecutionException | TimeoutException e) {
                // 处理异常
                e.printStackTrace();
            }
        }
    
        /**
         * 关闭延时任务
         */
        public void shutdown() {
            executorService.shutdown();
        }
    
        private static class ConnectResultTask implements Callable<Integer> {
            @Override
            public Integer call() throws Exception {
                // 在这里执行需要延时的操作
                // 这里只是一个示例,可以根据实际需求进行修改
                Thread.sleep(3000);
                return 0;
            }
        }
    }
    

    引用方式如下

    public class Main {
        public static void main(String[] args) {
            DelayedTask task = new DelayedTask();
            task.delay(5000); // 延时 5 秒
    
            // 在延时任务执行完成前,这里可以继续执行其他操作
    
            task.shutdown(); // 关闭延时任务
        }
    }
    

    DelayedTask 类提供了一种通用、灵活且易于使用的方式来实现延时执行任务的功能。它相比于 Handler 的 postDelayed 方法和 Thread.sleep 方法具有更广泛的适用性和更好的性能优势。

    具体需要自行验证,这里不做保证。

    相关文章

      网友评论

          本文标题:Android开发延时示例2023-07-07

          本文链接:https://www.haomeiwen.com/subject/jkaludtx.html