Java多線程執行個體_java

來源:互聯網
上載者:User

在上篇文章給大家介紹了java多線程的實現方式,通過本文給大家介紹java多線程執行個體,對java多線程感興趣的朋友一起學習吧

首先給大家說下多線程的優缺點

多線程的優點:

1)資源使用率更好
2)程式設計在某些情況下更簡單
3)程式響應更快

多線程的代價:

1)設計更複雜

雖然有一些多線程應用程式比單線程的應用程式要簡單,但其他的一般都更複雜。在多線程訪問共用資料的時候,這部分代碼需要特別的注意。線程之間的互動往往非常複雜。不正確的線程同步產生的錯誤非常難以被發現,並且重現以修複。

2)環境切換的開銷

當CPU從執行一個線程切換到執行另外一個線程的時候,它需要先儲存當前線程的本地的資料,程式指標等,然後載入另一個線程的本機資料,程式指標等,最後才開始執行。這種切換稱為“環境切換”(“context switch”)。CPU會在一個上下文中執行一個線程,然後切換到另外一個上下文中執行另外一個線程。環境切換並不廉價。如果沒有必要,應該減少環境切換的發生。

定義和啟動線程主要有兩個關鍵技術:

第一:線程類必須實現java.lang.Runnable介面或者繼承java.lang.Thread類,並且都要實現run方法,其中run方法沒有輸入,沒有輸出,也無異常。

第二:調用Thread類的start方法啟動線程,當獲得cpu資源後,start方法自動調用線程run方法開始運行。

package test;import java.util.Vector;import java.util.Date;/** * 線程測試執行個體 * @author 靜止的流水 * */public class Threadnew{ /** *  * @author 靜止的流水 * */class ThreadA extends Thread{ private Date runtime; public void run() { System.out.println("ThreadA begin."); this.runtime = new Date(); System.out.println("ThreadA end."); } }/** *  * @author 靜止的流水 * */class ThreadB implements Runnable{ private Date runtime; public void run() { System.out.println("ThreadB begin."); this.runtime = new Date(); System.out.println("ThreadB end."); } }/** *  * */public void starta(){ Thread threada = new ThreadA(); threada.start();}/** *  * */public void startb(){ Runnable threadb = new ThreadB(); Thread thread = new Thread(threadb); thread.start(); }/** *  * @param args */public static void main(String[] args){ Threadnew test = new Threadnew(); test.starta(); test.startb();}}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.