cmd+p 快速查看該方法的參數定義 * * option + shift +上下 快速移動上下行 * * cmd + e 顯示最近操做的文件 * * cmd + option +左右 回到以前瀏覽過的地方 * option + shift +點擊 多光標操做 * control +g 多重選擇 * f3 添加書籤 * cmd +f3 查看書籤 * * cmd + y 在當前頁面預覽代碼 * cmd + option + t 對某行代碼進行重構,例如增長if 語句 * * option + enter 快速提示
//執行task // new DownLoadTask().execute(); class DownLoadTask extends AsyncTask<Void,Integer,Boolean>{ @Override protected void onPreExecute() { super.onPreExecute(); } @Override protected Boolean doInBackground(Void... voids) { //後臺處理返回處理結果 //更新處理進度 publishProgress(11); return null; } @Override protected void onProgressUpdate(Integer... values) { //進度處理 } @Override protected void onPostExecute(Boolean aBoolean) { //結果處理 } }
private void userThreadPoolExecutor(){ int NUMBER_CORES = Runtime.getRuntime().availableProcessors(); int keep_alive = 8; BlockingQueue que = new LinkedBlockingDeque();//隊列,這裏面的任務能夠放入int的max個 ArrayBlockingQueue arrque = new ArrayBlockingQueue(2);//只放入兩個任務 // ThreadPoolExecutor executor = new ThreadPoolExecutor(2,5,keep_alive, TimeUnit.SECONDS,arrque,new NameTreadFactory(),new MyIgnorePolicy()); for (int i = 0;i < 10;i++){ executor.execute(new MyRunable(""+i)); } } static class NameTreadFactory implements ThreadFactory { private final AtomicInteger mThreadNum = new AtomicInteger(1); @Override public Thread newThread(Runnable r) { Thread t = new Thread(r, "my-thread-" + mThreadNum.getAndIncrement()); System.out.println(t.getName() + " has been created"); return t; } } public static class MyIgnorePolicy implements RejectedExecutionHandler { public void rejectedExecution(Runnable r, ThreadPoolExecutor e) { doLog(r, e); } private void doLog(Runnable r, ThreadPoolExecutor e) { // 可作日誌記錄等 Log.d("tag",r.toString() + " rejected"); // System.out.println("completedTaskCount: " + e.getCompletedTaskCount()); } } class MyRunable implements Runnable { private String name; public MyRunable(String name){ this.name = name; } @Override public void run() { try { System.out.println(this.toString() + " is running!"); Thread.sleep(3000); //讓任務執行慢點 } catch (Exception e) { e.printStackTrace(); } } public String getName() { return name; } @Override public String toString() { return "My task---[name==="+name+" ]"; } }