Jetpack 下 androidx.arch.core.executor 包中有一個執行緒池實作類 ArchTaskExecutor,
內部實作了切換執行緒的功能,
使用如下:
/**
*Author:XingHai.Zhao
*Purpose: ArchTaskExecutor實用舉例
*/
Executor threadExecutor;
//處在未知執行緒中,判斷當前執行緒是否是主執行緒,依此來決定執行緒要切換到哪個執行緒
if (Thread.currentThread() == Looper.getMainLooper().getThread()){
//這里的邏輯是:如果當前處于主執行緒,那么最后切換到主執行緒
threadExecutor = ArchTaskExecutor.getMainThreadExecutor();
}else {
threadExecutor = ArchTaskExecutor.getIOThreadExecutor();
}
thread {
//最終決定業務在哪里執行或回傳
threadExecutor.execute(new Runnable() {
@Override
public void run() {
//需要最終切換的業務
}
});
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/337738.html
標籤:其他
