《黑马程序员》 传统的定时器的创建方式总结与测试
来源:互联网 发布:ip网络广播 编辑:程序博客网 时间:2024/05/16 10:57
------- android培训、java培训、期待与您交流! ----------
public class TraditionalTimerTest {/** * 定时器的使用 */static int count=0;public static void main(String[] args) {//传统的定时器的创建方式//第一种普通的:在指定的时间干一件事情(只干一次)//new Timer().schedule(new TimerTask(){//@Override//public void run() {//System.out.println("bombing");//}//}, 3000);//第二种:在指定的时间干了一件事情之后然后再过一段时间再干这件事情(循环执行)//new Timer().schedule(new TimerTask(){//@Override//public void run() {//System.out.println("bombing");//}//}, 10000,2000); //10秒之后执行一下这个代码,然后以后每过2秒再执行这个代码////我们想实现子母弹的效果,即在定时器中还有定时器://new Timer().schedule(new TimerTask(){//@Override//public void run() {//System.out.println("bombing");//new Timer().schedule(this, 2000); //我们不可以使用不同的定时器执行同一个任务 ////我们该如何操作了?////这里使用的匿名对象,它执行完之后就被系统的GC给回收处理了。////所以我们再使用的时候这个对象是不存在的。即TimerTask执行一次之后它就不存在了////我们做一个类继承TimerTask。然后在TimerTask的run方法中再创建一个新的定时器//}//}, 2000); //10秒之后执行一下这个代码,然后以后每过2秒再执行这个代码////我们想实现子母弹的效果,即在定时器中还有定时器://交替执行的操作//class MyTimerTask extends TimerTask{ //写一个TimerTask的子类,把任务封装在这个类里面//@Override//public void run() {//System.out.println("bombing");////在它的这个里面再创建一个定时器//new Timer().schedule(new MyTimerTask(), 2000); //然后再创建一个定时器执行相同的任务 //}//}////new Timer().schedule(new MyTimerTask(),2000); //创建一个定时器定时执行一个任务:在它干一件事情的基础再让它定时干事情/*2627bombing2829bombing*///我们想实现这样的效果,就是让任务先毎2秒执行一下,然后再毎4秒执行一下,然后再每2秒执行一下,然后再每4秒执行一下class MyTimerTask extends TimerTask{ //写一个TimerTask的子类,把任务封装在这个类里面@Overridepublic void run() {count=(count+1)%2; //0+1%2=1,1+1%2=0 这样就可以实现交互执行了System.out.println("bombing");//在它的这个里面再创建一个定时器new Timer().schedule(new MyTimerTask(), 2000+2000*count); //然后再创建一个定时器执行相同的任务 }}new Timer().schedule(new MyTimerTask(),2000); //这样的话我们就需要计算出一个类创建对象的个数//我们可以使用static来做。要么就做两个定时器。然后,在A的定时器的run方法中创建一个新的定时器调用B//然后在B的定时器的run方法的代码中创建一个新的定时器调用A/** * 5859bombing0123bombing *///不停的打印当前的系统:秒while(true){try {Thread.sleep(1000); //隔一秒打印一下秒值} catch (InterruptedException e) {e.printStackTrace();}//休眠100毫秒System.out.println(new Date().getSeconds() );}}}
0 0
- 《黑马程序员》 传统的定时器的创建方式总结与测试
- 黑马程序员--传统定时器的回顾
- 《黑马程序员》 传统创建线程方式回顾
- 创建传统线程的方式
- 黑马程序员--定时器的例子
- 黑马程序员-线程(两种创建方式)、定时器
- 数组的输出(传统方式与非传统方式)
- 1.传统创建线程的方式
- 传统创建线程的两种方式
- 创建线程的两种传统方式
- 创建线程的两种传统方式
- 传统创建线程的两种方式
- 创建线程的两种传统方式
- 黑马程序员_多线程的两种创建方式与区别
- 黑马程序员—多线程的两种创建方式与多线程安全问题
- 敏捷测试与传统测试的区别
- 敏捷测试与传统测试的区别
- 敏捷测试与传统测试的区别
- 普通广播(Normal Broadcast)
- 网址的收藏系列一
- 颜色转换
- Android之GPS定位详解
- 黑马程序员 C#学习笔记⑨ 序列化对象
- 《黑马程序员》 传统的定时器的创建方式总结与测试
- jQuery Call web services(SOAP) in SharePoint 2013
- BroadcastReceiver 网络状态变化
- 骗子电话
- Python爬虫初学(2)豆瓣电影top250评论数
- iOS 7 与 Xamarin - MultiPeer Connectivity (2)
- 改变edittext边框颜色
- Windows 驱动程序设计(二)
- Hibernate使用原生SQL适应复杂数据查询