最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java多線程實例

 更新時間:2015年11月11日 11:56:00   投稿:mrr  
本文給大家介紹java多線程實例,對java多線程知識感興趣的朋友參考下吧

在上篇文章給大家介紹了java多線程的實現(xiàn)方式,通過本文給大家介紹java多線程實例,對java多線程感興趣的朋友一起學習吧

首先給大家說下多線程的優(yōu)缺點

多線程的優(yōu)點:

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

多線程的代價:

1)設計更復雜

雖然有一些多線程應用程序比單線程的應用程序要簡單,但其他的一般都更復雜。在多線程訪問共享數(shù)據(jù)的時候,這部分代碼需要特別的注意。線程之間的交互往往非常復雜。不正確的線程同步產生的錯誤非常難以被發(fā)現(xiàn),并且重現(xiàn)以修復。

2)上下文切換的開銷

當CPU從執(zhí)行一個線程切換到執(zhí)行另外一個線程的時候,它需要先存儲當前線程的本地的數(shù)據(jù),程序指針等,然后載入另一個線程的本地數(shù)據(jù),程序指針等,最后才開始執(zhí)行。這種切換稱為“上下文切換”(“context switch”)。CPU會在一個上下文中執(zhí)行一個線程,然后切換到另外一個上下文中執(zhí)行另外一個線程。上下文切換并不廉價。如果沒有必要,應該減少上下文切換的發(fā)生。

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

第一:線程類必須實現(xiàn)java.lang.Runnable接口或者繼承java.lang.Thread類,并且都要實現(xiàn)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();
}
}

相關文章

  • Windows10下的超詳細Java安裝全過程

    Windows10下的超詳細Java安裝全過程

    文章主要介紹了如何在Windows?10系統(tǒng)下安裝Java開發(fā)工具包(JDK),包括Java的下載與安裝步驟以及Java環(huán)境的配置方法,最后通過命令行驗證Java環(huán)境是否配置成功
    2025-01-01
  • Gradle環(huán)境下導出Swagger為PDF的步驟詳解

    Gradle環(huán)境下導出Swagger為PDF的步驟詳解

    這篇文章主要介紹了Gradle環(huán)境下導出Swagger為PDF的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-06-06
  • Spring配置類源碼分析詳解

    Spring配置類源碼分析詳解

    這篇文章主要介紹了Spring配置類解析源碼解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-09-09
  • Spring Boot 應用程序中配置使用consul的方法

    Spring Boot 應用程序中配置使用consul的方法

    配置是 Spring Boot 應用程序中的一部分,主要用于配置服務端口、應用名稱、Consul 服務發(fā)現(xiàn)以及健康檢查等功能,下面給大家介紹Spring Boot 應用程序中配置使用consul,感興趣的朋友一起看看吧
    2025-04-04
  • Java中Logger定義的3種方式及最佳實踐

    Java中Logger定義的3種方式及最佳實踐

    這篇文章主要介紹了Java中三種常見的Logger定義方式及其優(yōu)缺點,同時文章還討論了Logger的命名和訪問修飾符的最佳實踐,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2025-02-02
  • spring boot aop 記錄方法執(zhí)行時間代碼示例

    spring boot aop 記錄方法執(zhí)行時間代碼示例

    這篇文章主要介紹了spring boot aop 記錄方法執(zhí)行時間代碼示例,分享了相關代碼,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下
    2018-02-02
  • SpringBoot 多Profile使用與切換方式

    SpringBoot 多Profile使用與切換方式

    這篇文章主要介紹了SpringBoot 多Profile使用與切換方式,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04
  • 新手學習JQuery基本操作和使用案例解析

    新手學習JQuery基本操作和使用案例解析

    這篇文章主要介紹了新手學習JQuery基本操作和使用案例解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-02-02
  • SpringBoot下載文件的實現(xiàn)及速度對比

    SpringBoot下載文件的實現(xiàn)及速度對比

    這篇文章主要介紹了SpringBoot下載文件的實現(xiàn)及速度對比,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • springboot config 攔截器使用方法實例詳解

    springboot config 攔截器使用方法實例詳解

    本文介紹Spring-Boot中使用攔截器的相關知識,非常不錯,具有參考借鑒價值,需要的朋友參考下吧
    2018-05-05

最新評論

拉萨市| 沂南县| 尤溪县| 阿勒泰市| 霍林郭勒市| 信阳市| 崇信县| 巴彦淖尔市| 苗栗县| 上虞市| 绿春县| 黔江区| 普宁市| 铜陵市| 巴楚县| 深泽县| 揭东县| 瑞金市| 娄烦县| 郑州市| 龙泉市| 萝北县| 工布江达县| 鸡西市| 虎林市| 达州市| 天长市| 敦化市| 北京市| 巨鹿县| 内乡县| 贡觉县| 汝州市| 澄迈县| 遵义县| 勃利县| 临清市| 阿鲁科尔沁旗| 朝阳县| 张家口市| 阿鲁科尔沁旗|