1. gzyueqian
      13352868059

      實現java多線程的方法都有哪些呢?

      更新時間: 2020-05-14 16:04:31來源: 粵嵌教育瀏覽量:8919

         實現java多線程的方式都有哪些呢?這個問題是在我們粵嵌科技的java培訓班的學員會經常問到的問題,我們的講師也根據同學們的問題做出了相對應的回答。粵嵌科技的小編相信肯定也有很多在學習java的學員肯定也會遇到這樣的問題,下面粵嵌科技的小編就把我們的java講師的回答整理出來給大家。

        1、繼承Thread類實現多線程


        繼承Thread類的方法盡管被我列為一種多線程實現方式,但Thread本質上也是實現了Runnable接口的一個實例,它代表一個線程的實例,并且,啟動線程的方法就是通過Thread類的start()實例方法。start()方法是一個native方法,它將啟動一個新線程,并執行run()方法。這種方式實現多線程很簡單,通過自己的類直接extend Thread,并復寫run()方法,就可以啟動新線程并執行自己定義的run()方法。例如:


        [java] view plain copypublic class MyThread extends Thread {


        public void run() {


        System.out.println("MyThread.run()");


        }


        }


        在合適的地方啟動線程如下:


        [java] view plain copyMyThread myThread1 = new MyThread();


        MyThread myThread2 = new MyThread();


        myThread1.start();


        myThread2.start();


        2、實現Runnable接口方式實現多線程


        如果自己的類已經extends另一個類,就無法直接extends Thread,此時,必須實現一個Runnable接口,如下

        [java] view plain copypublic class MyThread extends OtherClass implements Runnable {


        public void run() {


        System.out.println("MyThread.run()");


        }


        }


        為了啟動MyThread,需要首先實例化一個Thread,并傳入自己的MyThread實例:


        [java] view plain copyMyThread myThread = new MyThread();


        Thread thread = new Thread(myThread);


        thread.start();


        事實上,當傳入一個Runnable target參數給Thread后,Thread的run()方法就會調用target.run(),參考JDK源代碼:


        [java] view plain copypublic void run() {


        if (target != null) {


        target.run();


        }


        }


        3、使用ExecutorService、Callable、Future實現有返回結果的多線程


        ExecutorService、Callable、Future這個對象實際上都是屬于Executor框架中的功能類。 這里面對該框架做了很詳細的解釋。返回結果的線程是在JDK1.5中引入的新特征,確實很實用,有了這種特征我就不需要再為了得到返回值而大費周折了,而且即便實現了也可能漏洞百出。


        以上就是我們java培訓講師給大家的答案了,如果說你想要學習java語言的話,那么粵嵌科技歡迎大家來我們公司的java培訓班進行實地考察,也可以點擊我們文章下面的獲取試聽資格按鈕來獲取我們的java課程免費試聽資格,在試聽中可以更加深入的了解我們粵嵌科技。

      免費預約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 亚洲国产精品碰碰 | 制服丝袜欧美精选在线 | 日本免费亚洲午夜 | 在线观看国产日韩亚洲中 | 午夜久久第一场电影 | 亚洲情a成黄在线观看动漫尤物 |