jjzjj

TimerTask

全部标签

Java 定时器

我正在尝试使用计时器来安排应用程序中的重复事件。但是,我希望能够实时调整事件触发的时间段(根据用户输入)。例如:publicclassHelperTimerextendsTimerTask{privateTimertimer;//Defaultof15secondbetweenupdatesprivateintsecondsToDelay=15;publicvoidsetPeriod(intseconds){this.secondsToDelay=seconds;longdelay=1000;//1secondlongperiod=1000*secondsToDelay;//secon

Java 定时器

我正在尝试使用计时器来安排应用程序中的重复事件。但是,我希望能够实时调整事件触发的时间段(根据用户输入)。例如:publicclassHelperTimerextendsTimerTask{privateTimertimer;//Defaultof15secondbetweenupdatesprivateintsecondsToDelay=15;publicvoidsetPeriod(intseconds){this.secondsToDelay=seconds;longdelay=1000;//1secondlongperiod=1000*secondsToDelay;//secon

java - 如果 TimerTask 的执行时间比指定的时间间隔长,会发生什么?

使用时Timer.schedule(TimerTasktask,longdelay,longperiod)(即使用固定延迟执行),如果指定的TimerTask的run()方法花费的时间超过period会发生什么完全的?两个并发的TimerTask线程是否可能因此而运行?如果是这样,有没有办法避免它? 最佳答案 定时器的documentation说如下:Timertasksshouldcompletequickly.Ifatimertasktakesexcessivetimetocomplete,it"hogs"thetimer'st

java - 如果 TimerTask 的执行时间比指定的时间间隔长,会发生什么?

使用时Timer.schedule(TimerTasktask,longdelay,longperiod)(即使用固定延迟执行),如果指定的TimerTask的run()方法花费的时间超过period会发生什么完全的?两个并发的TimerTask线程是否可能因此而运行?如果是这样,有没有办法避免它? 最佳答案 定时器的documentation说如下:Timertasksshouldcompletequickly.Ifatimertasktakesexcessivetimetocomplete,it"hogs"thetimer'st

java - TimerTask vs Thread.sleep vs Handler postDelayed - 每N毫秒调用一次函数最准确?

每N毫秒调用一次函数最准确的方法是什么?带有Thread.sleep的线程定时器任务带有postDelayed的处理程序我修改了thisexample使用Thread.sleep并且不是很准确。我正在开发一个音乐应用程序,它将以给定的BPM播放声音。我知道创建一个完全准确的节拍器是不可能的,我也不需要-只是想找到最好的方法来做到这一点。谢谢 最佳答案 使用定时器有一些缺点它只创建一个线程来执行任务,如果一个任务运行时间太长,其他任务会受到影响。它不处理任务和线程抛出的异常只是终止,这会影响其他计划任务,它们从不运行Scheduled

java - TimerTask vs Thread.sleep vs Handler postDelayed - 每N毫秒调用一次函数最准确?

每N毫秒调用一次函数最准确的方法是什么?带有Thread.sleep的线程定时器任务带有postDelayed的处理程序我修改了thisexample使用Thread.sleep并且不是很准确。我正在开发一个音乐应用程序,它将以给定的BPM播放声音。我知道创建一个完全准确的节拍器是不可能的,我也不需要-只是想找到最好的方法来做到这一点。谢谢 最佳答案 使用定时器有一些缺点它只创建一个线程来执行任务,如果一个任务运行时间太长,其他任务会受到影响。它不处理任务和线程抛出的异常只是终止,这会影响其他计划任务,它们从不运行Scheduled

java - 带有 scheduleAtFixedRate 的 Timer 和 TimerTask 在更新 TextView 时导致 CalledFromWrongThreadException 崩溃

我是Android编程新手。现在,我想以指定的时间间隔更新Activity中的TextView值。汽车类:publicclassCar{publicintSpeed;publicintRPM;publicintDistance;publicintFuel;publicCar(intSpeed,intRPM,intDistance,intFuel){System.out.println("InisialisasiBaru"+"\nSpeed:"+Speed+"\nRPM:"+RPM+"\nDistance:"+Distance+"\nFuel:"+Fuel);this.Speed=Spe

java - 如何安全取消TimerTask?

我一直在开发Android应用程序,我使用Timer和TimerTask对象在特定时间后执行一项任务。但有一个问题-有时我需要取消timertask,但如果我这样做,Android将导致IllegalStateException。如何安全地取消任务? 最佳答案 您不能重复使用TimerTask。您得到IllegalStateException的原因(很可能)是因为您尝试安排之前已取消的任务。要正确执行此操作,即避免IllegalStateException,您需要在每次要安排它时创建一个新的TimerTask。

android - LocationManager requestLocationUpdates 和 android 中的 timertask

我有以下代码:if(gps_enabled){Log.e("$$$$$$$$$$$$$$","GPSisenabledrequestionlocationupdates...intervalvalueis:"+interval);lm.requestLocationUpdates(LocationManager.GPS_PROVIDER,0,0,locationListenerGps);}else{if(network_enabled){Log.e("$$$$$$$$$$$$$$","Networkisenabledrequestionlocationupdates...interva

java - TimerTask 已经安排好了

我有一个播放本地音频文件的MediaPlayer对象。我正在使用TimerTask在播放音频时更新TextView上SeekBar和文本的位置。只有一个按钮。当用户按下按钮时,音频开始。当他们第二次按下时,音频停止。当他们第三次按下它再次开始播放时,应用程序崩溃并出现错误'causedby:TimerTaskisscheduledalreadyandInvocationTargetException'.这是我的代码:publicvoidonAudioClicked(Viewv){if(mainPlayer==null){mainPlayer=MediaPlayer.create(thi