這篇文章主要為大家展示了“scheduledexecutorservice怎么用”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“scheduledexecutorservice怎么用”這篇文章吧。
線程池是ScheduledExecutorService,我平時(shí)沒(méi)有用過(guò),他的較大優(yōu)點(diǎn)除了線程池的特性以外,可以實(shí)現(xiàn)循環(huán)或延遲任務(wù)。
ScheduledExecutorService和Timer的區(qū)別
Timer的內(nèi)部只有一個(gè)線程,如果有多個(gè)任務(wù)的話就會(huì)順序執(zhí)行,這樣我們的延遲時(shí)間和循環(huán)時(shí)間就會(huì)出現(xiàn)問(wèn)題。
ScheduledExecutorService是線程池,所以就不會(huì)出現(xiàn)這個(gè)情況,在對(duì)延遲任務(wù)和循環(huán)任務(wù)要求嚴(yán)格的時(shí)候,就需要考慮使用ScheduledExecutorService了。
ScheduledExecutorService的用法
publicclassMainActivityextendsAppCompatActivity{
//通過(guò)靜態(tài)方法創(chuàng)建ScheduledExecutorService的實(shí)例
privateScheduledExecutorServicemScheduledExecutorService=Executors.newScheduledThreadPool(4);
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//延時(shí)任務(wù)
mScheduledExecutorService.schedule(threadFactory.newThread(newRunnable(){
@Override
publicvoidrun(){
Log.e("lzp","firsttask");
}
以上是“scheduledexecutorservice怎么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!