建立執行緒5種方法
阿新 • • 發佈:2022-03-05
1、繼承Thread,重寫run方法,呼叫start啟動
2、實現Runnable介面,重寫run方法,呼叫start啟動。
3、lambda表示式
public class MyThread { static class MyExtend extends Thread{ @Override public void run() { System.out.println("Thread"); } } static class MyRun implements Runnable{ @Override public void run() { System.out.println("Thread"); } } public static void main(String[] args) { new MyExtend().start(); new Thread(new MyRun()).start(); new Thread(()->{ System.out.println("Thread"); }).start(); } }
4、對於繼承Thread和實現Runnable哪種更好?
實現更好,java是單繼承多實現的
5、執行緒池建立執行緒
ExecutorService service = Executors.newCachedThreadPool(); service.execute(()->{ System.out.println("Thread"); }); service.shutdown();
6、實現Callable介面
因為實現Runnale介面返回值是寫死的void,不靈活,Callable介面返回值可以自己設定
public class MyCallable implements Callable<String > { @Override public String call() throws Exception { return "success"; } public static void main(String[] args) throws ExecutionException, InterruptedException { ExecutorService service = Executors.newCachedThreadPool(); Future<String> submit = service.submit(new MyCallable()); String s = submit.get(); System.out.println(s); service.shutdown(); } }
作者:http://cnblogs.com/lyc-code/
本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連結,否則保留追究法律責任的權力。