package Ġxyz . sr cl ab . common . run Ċ Ċ import Ġjava . time . Duration Ċ import Ġjava . util . concurrent . Executors Ċ import Ġjava . util . concurrent . Rejected ExecutionException Ċ import Ġjava . util . concurrent . Scheduled ExecutorService Ċ import Ġjava . util . concurrent . Scheduled ThreadPoolExecutor Ċ Ċ /** Ċ Ġ* ĠFor Ġrun Ġa Ġscheduled Ġprocessing , Ġmay Ġbased Ġon Ġa Ġthread , Ġa Ġcoroutine , Ġor Ġothers . Ċ Ġ* Ċ Ġ* Ġ@ see ĠS cheduling Ċ Ġ* Ġ@ see ĠScheduled ExecutorService Scheduler Ċ Ġ* Ġ@ see ĠScheduled ThreadPool Scheduler Ċ Ġ* Ġ@ see ĠRunner Ċ Ġ*/ Ċ interface ĠScheduler Ġ: ĠRunner Ġ{ ĊĊĠĠĠ Ġ@ Throws ( Rejected ExecutionException :: class ) ĊĠĠĠ Ġfun Ġ< V > Ġschedule ( delay : ĠDuration , Ġtask : Ġ() Ġ-> ĠV ): ĠS cheduling < V > ĊĊĠĠĠ Ġ@ Throws ( Rejected ExecutionException :: class ) ĊĠĠĠ Ġ@ Jvm Default ĊĠĠĠ Ġfun Ġschedule ( delay : ĠDuration , Ġtask : ĠRunnable ): ĠS cheduling < *> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġschedule ( delay ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask . run () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Throws ( Rejected ExecutionException :: class ) ĊĠĠĠ Ġfun Ġ< V > Ġschedule Fixed Rate ( initial Delay : ĠDuration , Ġperiod : ĠDuration , Ġtask : Ġ() Ġ-> ĠV ): ĠS cheduling < V > ĊĊĠĠĠ Ġ@ Throws ( Rejected ExecutionException :: class ) ĊĠĠĠ Ġ@ Jvm Default ĊĠĠĠ Ġfun Ġschedule Fixed Rate ( initial Delay : ĠDuration , Ġperiod : ĠDuration , Ġtask : ĠRunnable ): ĠS cheduling < *> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġschedule Fixed Rate ( initial Delay , Ġperiod ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask . run () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Throws ( Rejected ExecutionException :: class ) ĊĠĠĠ Ġfun Ġ< V > Ġschedule Fixed Delay ( initial Delay : ĠDuration , Ġperiod : ĠDuration , Ġtask : Ġ() Ġ-> ĠV ): ĠS cheduling < V > ĊĊĠĠĠ Ġ@ Throws ( Rejected ExecutionException :: class ) ĊĠĠĠ Ġ@ Jvm Default ĊĠĠĠ Ġfun Ġschedule Fixed Delay ( initial Delay : ĠDuration , Ġperiod : ĠDuration , Ġtask : ĠRunnable ): ĠS cheduling < *> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġschedule Fixed Delay ( initial Delay , Ġperiod ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask . run () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Field ĊĠĠĠĠĠĠĠ Ġval ĠDEFAULT _ THREAD _ SCHEDUL ER : ĠScheduler Ġ= Ġnew Single Thread Scheduler () ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġnew Single Thread Scheduler (): ĠScheduled ExecutorService Scheduler Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnew Scheduled ExecutorService Scheduler ( Executors . new Single Thread Scheduled Executor ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġnew ThreadPool Scheduler ( core PoolSize : ĠInt ): ĠScheduled ExecutorService Scheduler Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnew Scheduled ExecutorService Scheduler ( Executors . new Scheduled ThreadPool ( core PoolSize )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġnew Scheduled ExecutorService Scheduler ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġscheduled ExecutorService : ĠScheduled ExecutorService ĊĠĠĠĠĠĠĠ Ġ): ĠScheduled ExecutorService Scheduler Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠScheduled ExecutorService Scheduler ( scheduled ExecutorService ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġnew Scheduled ThreadPool Scheduler ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġscheduled ThreadPoolExecutor : ĠScheduled ThreadPoolExecutor ĊĠĠĠĠĠĠĠ Ġ): ĠScheduled ThreadPool Scheduler Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠScheduled ThreadPool Scheduler ( scheduled ThreadPoolExecutor ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġnew Scheduled ThreadPool Scheduler Builder (): ĠScheduled ThreadPool Scheduler . Builder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠScheduled ThreadPool Scheduler . Builder () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġ< V > Ġschedule Default Thread ( delay : ĠDuration , Ġtask : Ġ() Ġ-> ĠV ): ĠS cheduling < V > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠDEFAULT _ THREAD _ SCHEDUL ER . schedule ( delay , Ġtask ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġ< V > Ġschedule Default Thread Fixed Rate ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinitial Delay : ĠDuration , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġperiod : ĠDuration , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask : Ġ() Ġ-> ĠV , ĊĠĠĠĠĠĠĠ Ġ): ĠS cheduling < V > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠDEFAULT _ THREAD _ SCHEDUL ER . schedule Fixed Rate ( initial Delay , Ġperiod , Ġtask ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġ< V > Ġschedule Default Thread Fixed Delay ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinitial Delay : ĠDuration , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġperiod : ĠDuration , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask : Ġ() Ġ-> ĠV ĊĠĠĠĠĠĠĠ Ġ): ĠS cheduling < V > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠDEFAULT _ THREAD _ SCHEDUL ER . schedule Fixed Delay ( initial Delay , Ġperiod , Ġtask ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġ< V > Ġschedule Default Thread ( delay : ĠDuration , Ġtask : Ġ() Ġ-> ĠV ): ĠS cheduling < V > Ġ{ ĊĠĠĠ Ġreturn ĠScheduler . schedule Default Thread ( delay , Ġtask ) Ċ } Ċ Ċ fun Ġ< V > Ġschedule Default Thread Fixed Rate ( initial Delay : ĠDuration , Ġperiod : ĠDuration , Ġtask : Ġ() Ġ-> ĠV ): ĠS cheduling < V > Ġ{ ĊĠĠĠ Ġreturn ĠScheduler . schedule Default Thread Fixed Rate ( initial Delay , Ġperiod , Ġtask ) Ċ } Ċ Ċ fun Ġ< V > Ġschedule Default Thread Fixed Delay ( ĊĠĠĠ Ġinitial Delay : ĠDuration , ĊĠĠĠ Ġperiod : ĠDuration , ĊĠĠĠ Ġtask : Ġ() Ġ-> ĠV , Ċ ): ĠS cheduling < V > Ġ{ ĊĠĠĠ Ġreturn ĠScheduler . schedule Default Thread Fixed Delay ( initial Delay , Ġperiod , Ġtask ) Ċ }