java 多執行緒 之匿名內部類實現多執行緒
阿新 • • 發佈:2018-12-25
package 匿名內部類實現多執行緒;
public class Demo { public static void main(String[] args) { // 繼承Thread類實現多執行緒 new Thread() { public void run() { for (int i = 0; i < 100; i++) { System.out.println(Thread.currentThread().getName() + "--" + i); } } }.start(); // 實現Runnable介面實現多執行緒 new Thread(new Runnable() { public void run() { for (int i = 0; i < 100; i++) { System.out.println(Thread.currentThread().getName() + "--" + i); } } }) { }.start(); } }
通過匿名內部類實現多執行緒,會比 實現Runnable 和繼承 Thread 會靈活一點,從傳參什麼…
eg:
public String first(HttpServletRequest request,WeChatQRPO weChatQRPO){ String url = request.getSession().getServletContext() .getRealPath("/upload/img"); String zipPath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + request.getContextPath()+"/upload/img/zip/"+weChatQRPO.getShopName()+"/";//儲存路徑 new Thread(new Runnable() { @Override public void run() { shopService.getFirst(url,zipPath,weChatQRPO,from,endPoint,accessKeyId,accessKeySecret,filePrefix,bucket,fileHeadUrl); } }).start(); return "true"; }
這樣就可以啟動一個執行緒幫我們做事…
這裡注意:
啟動一個執行緒之後,HttpServletRequest 物件的引數是傳不過去的, 如果你需要HttpServletRequest 裡邊的引數的話,最好以其他形式傳過去 比如:String
一些基礎知識的話 :http://www.cnblogs.com/yjd_hycf_space/p/7526608.html