[英]Using Thread/Handler/Looper for Worker Thread Android
[英]How to schedule tasks in a specific thread without using a looper and a handler?
計時器創建自己的線程,而ScheduledThreadPoolExecutor
使用池。 他們是否有辦法指定無需執行任何代碼就可以直接執行任務的線程? 如果這不是一個好主意,請解釋原因(線程正在忙碌)。
我對looper-handler方法沒有問題,我很好奇。
您可以使用Executors.newSingleThreadScheduledExecutor()
使用一個線程創建ScheduledThreadPoolExecutor
。
(可選)如果希望對單個線程有更多控制,可以將ThreadFactory
作為參數傳遞。 線程工廠的newThread(Runnable)
方法被調用每一個執行者希望有一個新的時間Thread
應該運行在給定的情況下Runnable
(這是不是等同於Runnable
傳遞給執行程序的execute(...)
submit(...)
或schedule(...)
方法)。
請注意,您無法重用現有線程,因為通常無法將代碼“注入”到已在運行的線程中,這在Qt中是可能的。 在那里,每個線程都有自己的事件隊列和計時工具,因此您可以自由決定哪個(已經存在的)線程應該處理您的定時任務(請參閱Qt中的Timers )。
Java中沒有現成的功能。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.