task - the task to be scheduled time - the time when the task is first executed period - the time interval for executing a task, in milliseconds
Function: time When equal to or exceeding time, the task is executed for the first time, and then the task is executed repeatedly every period milliseconds
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
|
task-the task to be executed delay-the delay time of executing the task , unit millisecond period - the time interval for executing a task
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
|
1) scheduleAtFixedRate: You can pass in runnable to customize the first initialization execution time and cycle time, Unit time------Create and execute a periodic task. After the given initial delay time (executed once every 1 minute or other times), it will be executed for the first time. An exception occurred during execution and the task stopped.
2) scheduleWithFixedDelay: similar to the previous one-----create and execute periodic tasks, first execution and abnormal situations
A: execute one task in 1s, every The execution time of each task is 500ms====There is no difference between the two types
B: The execution time of the task is too long, for example, the interval is 1s, and the execution time is 3s====There is a difference in this case, mainly in the cycle The difference in time
scheduleWithFixedDelay In this method, if the execution time of a task exceeds the cycle time, the next task will calculate the execution delay based on the end time of the task execution (for example: if the interval time is 1s, and The execution time is 3s. Execution is triggered at 10:03. In theory, the new task should be executed at 10:04. However, if executed through this method, the execution ends at 10:06. On the basis of 10:06, the new task will be executed with a delay of 1s. Task)
scheduleAtFixedRate method (for example: if the interval is 1s, and the execution time is 3s, execution is triggered at 10:03, execution ends at 10:06, and tasks accumulated at 10:04 and 10:05 It will be executed immediately instead of increasing the delay time based on 10:06)
The above is the detailed content of How to use scheduleAtFixedRate in Java. For more information, please follow other related articles on the PHP Chinese website!