java倒计时使用ScheduledExecutor实现,使用两个线程,以秒为单位
2024-08-27 18:46:02
public class Countdown2 {
private volatile int lin;
private int curSec;
public Countdown2(int lin) throws InterruptedException{
/*记录倒计时时间*/
this.lin = lin;
/*记录倒计时当下时间*/
this.curSec = lin;
System.out.println("最后倒计时: " + lin + "秒"); /*此处存在缺陷,需要手动创建线程池*/
ScheduledExecutorService exec = Executors.newScheduledThreadPool(1);
exec.scheduleAtFixedRate(new Task(),0,1,TimeUnit.SECONDS );
//暂停本线程
TimeUnit.SECONDS.sleep(lin);
exec.shutdown();
System.out.println("Game over!!");
}
private class Task implements Runnable{
@Override
public void run() {
System.out.println("倒计时: " + --curSec + "秒");
}
} public static void main(String[] args) throws InterruptedException{
new Countdown2(20);
}
}
最新文章
- UItableview 添加 uisearchController
- gitlab
- 。U盘安装CentOS6.5
- MediaCodec Name &; Type
- 01-Swift 介绍
- IOS开发中--点击imageView上的Button没有任何反应
- iOS网络编程(三) 异步加载及缓存图片---->;SDWebImage
- 玩转指针(Playing with Pointers)
- 蜂窝移动网络是什么,它和 Wi-Fi 有什么区别? 蓝牙和无线有什么区别?
- Cookie例子
- JAVA包名、类名、变量名命名规则
- PHPUnit-附录 A. 断言 (assert)
- c/c++ 网络编程 UDP 发送端 bind 作用
- 微擎系统jssdk系统快速签名变量
- 【BZOJ】3143: [Hnoi2013]游走
- UVA-12166 Equilibrium Mobile(二叉树)
- python3 datetime和time获取当前日期和时间
- [USACO07MAR]黄金阵容均衡Gold Balanced L…
- cs231n神经网络 常用激活函数
- CAD安装失败怎样卸载CAD 2016?错误提示某些产品无法安装