用于记录一下

原来的代码是这样的:

     //定时器   Timer timer = new Timer();TimerTask task = new TimerTask() {@Overridepublic void run() {snake.move();// 重绘棋盘jPanel.repaint();}};timer.schedule(task, 0, 100);

结果会有这样的提示

所以我们来通过初始化一个执行器来代替:

// 通过制定的参数创建一个线程池执行器
/*corePoolSize   即使它们处于空闲状态也要保留在池中的线​​程数threadFactory  执行程序创建新线程时要使用的工厂
*/ScheduledExecutorService executorService = new ScheduledThreadPoolExecutor(8,new BasicThreadFactory.Builder().namingPattern("example-schedule-pool-%d").daemon(true).build());/*
command     要执行的任务
initialDelay    延迟首次执行的时间
delay   从终止执行到开始执行之间的延迟
unit    initialDelay和delay参数的时间单位
*/executorService.scheduleWithFixedDelay(task, 0, 100, TimeUnit.MILLISECONDS);

仅是自己学习参考,如有问题多多指教。

通过ScheduledExecutorService代替Timer相关推荐

  1. 线程池延时类ScheduledExecutorService—比Timer更有效精确的延时工具

    ScheduledExecutorService 前言   在Java中我们一般使用Timer来进行延时/周期执行操作,Timer的内部只有一个线程,如果有多个任务的话就会顺序执行,这样我们的延迟时间 ...

  2. 四种Java线程池用法解析

    四种Java线程池用法解析 本文为大家分析四种Java线程池用法,供大家参考,具体内容如下 http://www.jb51.net/article/81843.htm 1.new Thread的弊端 ...

  3. class转java_[拒绝套路,纯干货]这一百多道 Java 基础问题你掌握了吗?

    码农每日一题长按关注,工作日分享一些技术知识点. [每日一题]Java 基本数据类型基础面试题 [每日一题]Java 包装类型装箱拆箱基础面试题 [每日一题]Java 字符串(Part 1)相关面试题 ...

  4. boot定时任务开启和关闭 spring_SpringBoot中的定时任务的同步与异步你确定真的知道?...

    定时任务调度功能在我们的开发中是非常常见的,随便举几个例子:定时清除一些过期的数据,定时发送邮件等等,实现定时任务调度的方式也十分多样,本篇文章主要学习各种实现定时任务调度方式的优缺点,以便为日后选择 ...

  5. 基于redis的分布式任务管理

    业务背景 系统中有各种定时任务,需要满足以下要求: 定时任务需要能够动态增删改查 需要能够设置任务的有效时间范围(只在此范围内执行) 任务执行周期需要能够灵活配置 需要能够轻松接入各种任务实现 需要能 ...

  6. Java ExecutorService四种线程池的例子与说明

    1.new Thread的弊端 执行一个异步任务你还只是如下new Thread吗? new Thread(new Runnable() {@Overridepublic void run() {// ...

  7. 面试题:四种Java线程池用法解析 !=!=未看

    1.new Thread的弊端 执行一个异步任务你还只是如下new Thread吗? 1 2 3 4 5 6 7 8 new Thread(new Runnable() {   @Override   ...

  8. 阿里Java开发规约(2)

    本文是对阿里插件中规约的详细解释二,关于插件使用,请参考这里 及时清理不再使用的代码段或配置信息. 说明:对于垃圾代码或过时配置,坚决清理干净,避免程序过度臃肿,代码冗余 Positive examp ...

  9. Spring Job?Quartz?XXL-Job?年轻人才做选择,艿艿全莽~

    本文在提供完整代码示例,可见 https://github.com/YunaiV/SpringBoot-Labs 的 lab-28 目录. 原创不易,给点个 Star 嘿,一起冲鸭! 1. 概述 在产 ...

最新文章

  1. 异步爬虫框架与协程浅析
  2. 构建微服务:Spring boot 入门篇
  3. setState同步异步场景
  4. iPhone 13凌晨发布,电池容量较iPhone 12最高有望提升20%(文末有福利)
  5. wampserver3.2.0_MySQL 8.0 技术详解
  6. double to string 损失精度的问题
  7. 前端开发~uni-app ·[项目-仿糗事百科] 学习笔记 ·007【uni-app和vue.js基础快速上手】
  8. Python自省 type(),dir(),getattr(),hasattr(),isinstance().
  9. 全面升级,淘宝/天猫api接口大全
  10. k8s 部署spring cloud项目
  11. java边缘检测_Sobel边缘检测实现
  12. android体脂代码,该减肥了吗?教你用手机App测量体脂率
  13. 大数据时代是什么意思?
  14. 学习使用linux下tags文件
  15. Python 批处理文件(全)
  16. vmware断网安装Ubuntu纪实
  17. uboot环境变量setenv学习
  18. MongoDB日常运维之用户管理
  19. 做软件测试你应该知道场景标准(一)
  20. Python筛选列表中指定的值,返回新列表

热门文章

  1. 12家大厂软件测试大牛,联合打造:<如何从零开始学习软件测试>系列视频+完整版文档分享
  2. git pul出错_如何使用Git出错-以及如何做。
  3. python绘制小猪佩奇程序设计大作业_代码绘制一只小猪佩奇---python篇
  4. Photoshop自动色阶调整原理
  5. 在服务器上使用百度网盘下载资源
  6. 快速实现自定义控件开关按钮
  7. js 进一法、四舍五入法、舍去法 精确保留两位小数 兼容浮点运算
  8. 链改百花齐放丨 链改下的交融共识
  9. 游戏开发的HelloWorld,快速入门,新手上路,使用CocosCreator+JS,flyBird(飞翔小鸟)
  10. android开发出现错误:Failed to find configured root that contains