返回顶部
首页 > 资讯 > 精选 >Java中怎么实现单任务延迟
  • 697
分享到

Java中怎么实现单任务延迟

2023-06-17 15:06:38 697人浏览 独家记忆
摘要

今天就跟大家聊聊有关Java中怎么实现单任务延迟,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Java单任务延迟代码创建一个单线程执行程序,它可安排在给定延迟后运行命令或者定期地执行

今天就跟大家聊聊有关Java中怎么实现单任务延迟,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

Java单任务延迟代码

创建一个单线程执行程序,它可安排在给定延迟后运行命令或者定期地执行。

  1. ScheduledExecutorService pool = Executors.newSingleThread
    ScheduledExecutor(); 

创建一个单线程执行程序,它可安排在给定延迟后运行命令或者定期地执行。

  1. ScheduledExecutorService pool = Executors.newSingle
    ThreadScheduledExecutor();  

Java代码

pool-1-thread-1正在执行。。。   pool-1-thread-1正在执行。。。   pool-1-thread-1正在执行。。。   pool-1-thread-1正在执行。。。   pool-1-thread-1正在执行。。。   Process finished with exit code 0   pool-1-thread-1正在执行。。。   pool-1-thread-1正在执行。。。   pool-1-thread-1正在执行。。。   pool-1-thread-1正在执行。。。   pool-1-thread-1正在执行。。。   Process finished with exit code 0

自定义线程池

Java代码

  1. import java.util.concurrent.ArrayBlockingQueue;   

  2. import java.util.concurrent.BlockingQueue;   

  3. import java.util.concurrent.ThreadPoolExecutor;   

  4. import java.util.concurrent.TimeUnit;   

  5.    

  6. public class Test {   

  7. public static void main(String[] args) {   

  8. //创建等待队列   

  9. BlockingQueue<Runnable> bqueue = new ArrayBlockingQueue
    <Runnable>(20);   

  10. //创建一个单线程执行程序,它可安排在给定延迟后运行命令或者定期地执行。   

  11. ThreadPoolExecutor pool = new ThreadPoolExecutor
    (2,3,2,TimeUnit.MILLISECONDS,bqueue);   

  12. //创建实现了Runnable接口对象,Thread对象当然也实现了Runnable接口   

  13. Thread t1 = new MyThread();   

  14. Thread t2 = new MyThread();   

  15. Thread t3 = new MyThread();   

  16. Thread t4 = new MyThread();   

  17. Thread t5 = new MyThread();   

  18. Thread t6 = new MyThread();   

  19. Thread t7 = new MyThread();   

  20. //将线程放入池中进行执行   

  21. pool.execute(t1);   

  22. pool.execute(t2);   

  23. pool.execute(t3);   

  24. pool.execute(t4);   

  25. pool.execute(t5);   

  26. pool.execute(t6);   

  27. pool.execute(t7);   

  28. //关闭线程池   

  29. pool.shutdown();   

  30. }   

  31. }   

  32. class MyThread extends Thread {   

  33. @Override   

  34. public void run() {   

  35. System.out.println(Thread.currentThread().getName() + 
    "正在执行。。。");   

  36. try {   

  37. Thread.sleep(100L);   

  38. } catch (InterruptedException e) {   

  39. e.printStackTrace();   

  40. }   

  41. }   

  42. }   

  43. import java.util.concurrent.ArrayBlockingQueue;   

  44. import java.util.concurrent.BlockingQueue;   

  45. import java.util.concurrent.ThreadPoolExecutor;   

  46. import java.util.concurrent.TimeUnit;   

  47.  

  48.    

  49. public class Test {   

  50. public static void main(String[] args) {   

  51. //创建等待队列   

  52. BlockingQueue<Runnable> bqueue = new ArrayBlockingQueue
    <Runnable>(20);   

  53. //创建一个单线程执行程序,它可安排在给定延迟后运行命令或者定期地执行。   

  54. ThreadPoolExecutor pool = new ThreadPoolExecutor
    (2,3,2,TimeUnit.MILLISECONDS,bqueue);   

  55. //创建实现了Runnable接口对象,Thread对象当然也实现了Runnable接口   

  56. Thread t1 = new MyThread();   

  57. Thread t2 = new MyThread();   

  58. Thread t3 = new MyThread();   

  59. Thread t4 = new MyThread();   

  60. Thread t5 = new MyThread();   

  61. Thread t6 = new MyThread();   

  62. Thread t7 = new MyThread();   

  63. //将线程放入池中进行执行   

  64. pool.execute(t1);   

  65. pool.execute(t2);   

  66. pool.execute(t3);   

  67. pool.execute(t4);   

  68. pool.execute(t5);   

  69. pool.execute(t6);   

  70. pool.execute(t7);   

  71. //关闭线程池   

  72. pool.shutdown();   

  73. }   

  74. }   

  75. class MyThread extends Thread {   

  76. @Override   

  77. public void run() {   

  78. System.out.println(Thread.currentThread().getName() + 
    "正在执行。。。");   

  79. try {   

  80. Thread.sleep(100L);   

  81. } catch (InterruptedException e) {   

  82. e.printStackTrace();   

  83. }   

  84. }   

  85. }  

Java代码

pool-1-thread-1正在执行。。。   pool-1-thread-2正在执行。。。   pool-1-thread-2正在执行。。。   pool-1-thread-1正在执行。。。   pool-1-thread-2正在执行。。。   pool-1-thread-1正在执行。。。   pool-1-thread-2正在执行。。。   Process finished with exit code 0   pool-1-thread-1正在执行。。。   pool-1-thread-2正在执行。。。   pool-1-thread-2正在执行。。。   pool-1-thread-1正在执行。。。   pool-1-thread-2正在执行。。。   pool-1-thread-1正在执行。。。   pool-1-thread-2正在执行。。。

看完上述内容,你们对Java中怎么实现单任务延迟有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注编程网精选频道,感谢大家的支持。

--结束END--

本文标题: Java中怎么实现单任务延迟

本文链接: https://lsjlt.com/news/290349.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Java中怎么实现单任务延迟
    今天就跟大家聊聊有关Java中怎么实现单任务延迟,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Java单任务延迟代码创建一个单线程执行程序,它可安排在给定延迟后运行命令或者定期地执行...
    99+
    2023-06-17
  • 基于rabbitmq延迟插件怎么实现分布式延迟任务
    本文小编为大家详细介绍“基于rabbitmq延迟插件怎么实现分布式延迟任务”,内容详细,步骤清晰,细节处理妥当,希望这篇“基于rabbitmq延迟插件怎么实现分布式延迟任务”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知...
    99+
    2023-06-26
  • RabbitMQ消息队列怎么实现延迟任务
    这篇文章主要介绍“RabbitMQ消息队列怎么实现延迟任务”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“RabbitMQ消息队列怎么实现延迟任务”文章能帮助大家解决问题。一、序言延迟任务应用广泛,延...
    99+
    2023-06-29
  • 基于rabbitmq延迟插件实现分布式延迟任务
    目录一、延迟任务的使用场景二、组件安装三、RabbitMQ延迟队列插件的延迟队列实现1、基本原理2、核心组件开发走起之前给大家介绍过SpringBoot集成Redisson实现延迟队...
    99+
    2024-04-02
  • 如何在Redis中实现延迟任务队列
    在Redis中实现延迟任务队列可以使用有序集合(Sorted Set)和定时任务的方式来实现。以下是一个基本的实现方法: 将任务存...
    99+
    2024-04-09
    Redis
  • RabbitMQ消息队列实现延迟任务示例
    目录一、序言1、实现原理2、组件选型二、方案设计(一)服务器(二)生产者(三)消费者三、SpringBoot实现(一)生产者(二)消费者(三)通用工具包一、序言 延迟任务应用广泛,延...
    99+
    2024-04-02
  • SSIS 中怎么实现延迟验证
    今天就跟大家聊聊有关SSIS 中怎么实现延迟验证,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一,延迟验证属性延迟验证属性作用于Package,Ta...
    99+
    2024-04-02
  • Android中怎么实现延迟操作
    这篇文章给大家介绍Android中怎么实现延迟操作,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Android 三种延迟操作的实现方法一、线程new Thread(new Runnable(){&n...
    99+
    2023-05-30
    android
  • 怎么在Redis中实现延迟队列和分布式延迟队列
    这篇文章给大家介绍怎么在Redis中实现延迟队列和分布式延迟队列,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1. 实现一个简单的延迟队列。  我们知道目前JAVA可以有DelayedQueue,我们首先开一个Dela...
    99+
    2023-06-15
  • 定时任务实现的关键DelayQueue延迟队列是什么
    定时任务实现的关键DelayQueue延迟队列是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。今天学习是并发包提供的延迟队列(DelayQueue)。延迟队列说明延迟队...
    99+
    2023-06-19
  • python之怎么实现延迟操作
    python实现延迟操作python 想实现延迟的操作是需要应用time ,然后在使用time的sleep 方法比如我想写一个延迟1秒打印一次的操作import time for i in range(0, 10): time.sl...
    99+
    2023-05-16
    Python
  • C#基于时间轮调度实现延迟任务详解
    在很多.net开发体系中开发者在面对调度作业需求的时候一般会选择三方开源成熟的作业调度框架来满足业务需求,比如Hangfire、Quartz.NET这样的框架。但是有些时候可能我们只...
    99+
    2022-12-31
    C# 时间轮调度 延迟任务 C#延迟任务 C#延迟
  • 浅析golang怎么实现延时任务
    golang怎么实现延时任务?下面本篇文章给大家分享一套基于golang实现的延时任务方案,希望对大家有所帮助!在实际业务场景中,我们有时候会碰到一些延时的需求:例如,在电商平台,运营在管理后台添加商品后,不需要立刻展示在前台,而是在之后某...
    99+
    2023-05-14
    Go 后端
  • Java如何实现异步延迟队列
    这篇文章主要介绍“Java如何实现异步延迟队列”,在日常操作中,相信很多人在Java如何实现异步延迟队列问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java如何实现异步延迟队列”的疑惑有所帮助!接下来,请跟...
    99+
    2023-07-05
  • Thymeleaf数据延迟加载怎么实现
    这篇文章主要介绍“Thymeleaf数据延迟加载怎么实现”,在日常操作中,相信很多人在Thymeleaf数据延迟加载怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Th...
    99+
    2024-04-02
  • 使用Redis怎么实现延迟队列
    本篇文章给大家分享的是有关使用Redis怎么实现延迟队列,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。方案一:采用通过定时任务采用数据库/非关系型数据库轮询方案。优点: 实现简...
    99+
    2023-06-15
  • java延迟队列实现的原理是什么
    Java延迟队列(DelayQueue)是一种特殊的优先级队列,它允许元素在特定的延迟时间之后才能被获取。延迟队列的实现原理主要依赖...
    99+
    2024-03-01
    java
  • SSIS中如何实现延迟验证
    这篇文章给大家分享的是有关SSIS中如何实现延迟验证的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。验证是一个事件,该事件在Package执行时,第一个被触发,验证能够避免SSIS...
    99+
    2024-04-02
  • Java DelayQueue实现任务延时示例讲解
    在项目中有使用到延时队列的场景,做个简单的记录说明;首先DelayQueue实现了BlockingQueue,加入其中的元素必须实现Delayed接口; 当生产者元素调用put往其中...
    99+
    2024-04-02
  • Java单机环境怎么实现定时任务
    这篇文章主要介绍“Java单机环境怎么实现定时任务”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java单机环境怎么实现定时任务”文章能帮助大家解决问题。定时任务框架TimeTask从我们开始学习j...
    99+
    2023-06-30
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作