/**
* 執行緒池管理
*/public class threadpoolmanager
//懶漢式 是加同步鎖
// 餓漢式 執行緒安全
private static threadpoolmanager instance = new threadpoolmanager();
private poolproxy longpoolproxy; // 給聯網使用的執行緒池
private poolproxy shortpoolproxy; // 讀寫檔案使用的執行緒池
public static threadpoolmanager getinstance()
// 聯網
// 讀寫檔案
// 效率最高 cpu 核心數 *2+1
// 1 *2+1
public poolproxy createlongthreadpool()
return longpoolproxy;
}public poolproxy createshortthreadpool()
return shortpoolproxy;
}/**
* 配置執行緒池 **類 threadpoolexecutor 執行緒池
* * @author wxj
* */
public class poolproxy
@suppresslint("newapi")
public void execute(runnable r)
// 就直接執行任務
threadpool.execute(r);
}public void cancel(runnable r) }}
public class threadutils
/*** 子執行緒執行 給相對聯網 耗時少的操作使用
* @param r
*/public static void runonshortbackthread(runnable r)
private static handler handler = new handler();
/*** 在主線程執行
* @param r
*/public static void runonuithread(runnable r)
}然後下一步就是在介面**中**用到 就在**呼叫工具類的線層:
runonbackthread (); runonshortbackthread(); runonuithread();
執行緒池的運用
當有很多執行緒的時候就可以用到執行緒池了 executorservice executor executors.newfixedthreadpool 3 這是建立3個固定的執行緒池,如果執行緒有4個,則另乙個只能處於等待狀態 public public static void main string...
async和await Task和執行緒池執行緒的關係
計算機進入多核時代,開發人員想要充分利用計算機核心,需要編寫多執行緒程式。執行緒屬於程序,理想狀態下,在4核的計算機上最好有4個執行緒。早期的執行緒建立是利用 thread類,執行緒的建立需要花費很多時間,基於此,微軟公司為開發人員建立了執行緒池,執行緒池具有智慧型爬山演算法,可以 根據執行緒的使用...
卷積層以及池化層的輸出維度
一 輸入的四個維度 2 height weight 的高和寬。3 channels 的通道數,黑白 就是1,rgb就是3。例如我們的輸入是x 333,28,28,3 則代表我們有333個寬和高都是28的黑白 單通道 二 卷積核的四個維度 1 height weight 卷積核矩陣的維度 2 inch...