成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Java多線程的概念以及優(yōu)缺點、多線程的地位

gitmilk / 441人閱讀

摘要:注意很多多線程是模擬出來的,真正的多線程是指有多個,即多核如服務器。對于目前的大家來說,線程掌握以下即可創(chuàng)建線程的方式停止線程簡單的關(guān)于多線程的概念和優(yōu)缺點就介紹到這,下一篇將會講講如何創(chuàng)建多線程。

大家好,樂字節(jié)小樂有來咯,上次說完了Java網(wǎng)絡編程探究|樂字節(jié),這次我們來看看線程相關(guān)的吧。

Java線程主要講述的內(nèi)容有:

1、線程概念

多線程,說白了就是多條執(zhí)行路徑,原來是一條路徑,就主路徑(main),現(xiàn)在是多條路徑。就相當于高速路,原來是一條路,因為車多了,為提高使用效率,充分使用這條道路,中間加了個柵欄, 變成了多條車道。

注意: 所有的車共享這條套路。

原來的執(zhí)行程序為一條路徑,現(xiàn)在加入多線程則存在多條執(zhí)行路徑。

1)、一條路徑

方法間的調(diào)用為一條路徑,如:

public class OneRoute {
public static void main(String[] args) {
System.out.print("只有");
int result =a();
System.out.print("-->"+result);
}
public static int a(){
System.out.print("main");
return b()*100;
}
public static int b(){
System.out.print("一條路徑"); return 1;
}
}

2)、兩條路徑

開辟新的線程,為兩條執(zhí)行路徑。

public class ThreadRoute {
public static void main(String[] args) {
System.out.print("多條路徑");
new Route().start();
System.out.print("main-->");
} }
class Route extends Thread{
public void run() {
a();
}
public int a(){
System.out.print("thread");
return b()*100;
}
public int b(){
System.out.print("一條路徑");
return 1;
}
}

2、程序、進程與多線程

程序是指令的集合,代碼的集合;而進程是動態(tài)的概念,當程序在執(zhí)行時,系統(tǒng)分配進

程;多線程是在同一進程下,充分利用資源 ,多條執(zhí)行路徑,共享資源 (cpu data code)。

注意:

很多多線程是模擬出來的,真正的多線程是指有多個 cpu,即多核,如服務器。如果是模擬出來的多線程,即一個 cpu 的情況下,在同一個時間點,cpu 只能執(zhí)行一個代碼, 因為切換的很快,所以就有同時執(zhí)行的錯覺。

3、多線程優(yōu)缺點 1)、優(yōu)點

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

2)、缺點

a)設計更復雜雖然有一些多線程應用程序比單線程的應用程序要簡單,但其他的一般

都更復雜。在多線程訪問共享數(shù)據(jù)的時候,這部分代碼需要特別的注意。線程之間的交互往

往非常復雜。不正確的線程同步產(chǎn) 生的錯誤非常難以被發(fā)現(xiàn),并且重現(xiàn)以修復。

b)上下文切換的開銷 當 CPU 從執(zhí)行一個線程切換到執(zhí)行另外一個線程的時候,它需要

先存儲當前線程的本地的數(shù)據(jù),程序 指針等,然后載入另一個線程的本地數(shù)據(jù),程序指針

等,最后才開始執(zhí)行。這種切換稱為“上下文切 換”(“context switch”)。CPU 會在一

個上下文中執(zhí)行一個線程,然后切換到另外一個上下文中執(zhí) 行另外一個線程。上下文切換

并不廉價。如果沒有必要,應該減少上下文切換的發(fā)生。

4、多線程地位

線程在 java 中的地位非常重要,但是比較難以理解,慶幸的是在實際工作中,直接編

寫線程的代碼不多;線程在手寫服務器用的很多,當然現(xiàn)在的服務器都是其他公司寫好的,

直接拿來用即可,如果真的想把多線程學好,需要掌握很多知識,如操作系統(tǒng)原理、并發(fā)機

制等。 對于目前的大家來說,線程掌握以下即可:

創(chuàng)建線程的方式

sleep

停止線程

Thread.currentThread

簡單的 synchronized

關(guān)于Java多線程的概念和優(yōu)缺點就介紹到這,下一篇將會講講如何創(chuàng)建多線程。謝謝大家,請關(guān)注樂字節(jié)!

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/75946.html

相關(guān)文章

  • Java 線程

    摘要:當一個程序運行時,內(nèi)部可能包含了多個順序執(zhí)行流,每個順序執(zhí)行流就是一個線程所有運行中的任務通常對應一個進程。線程也被稱作輕量級進程,線程是進程的執(zhí)行單元。在線程的生命周期中,它要經(jīng)過新 線程概述 線程和進程 幾乎所有的操作系統(tǒng)都支持同時運行多個任務,一個任務通常就是一個程序,每個運行中的程序就是一個進程。當一個程序運行時,內(nèi)部可能包含了多個順序執(zhí)行流,每個順序執(zhí)行流就是一個線程 所有運...

    zorro 評論0 收藏0
  • Java開發(fā)

    摘要:大多數(shù)待遇豐厚的開發(fā)職位都要求開發(fā)者精通多線程技術(shù)并且有豐富的程序開發(fā)調(diào)試優(yōu)化經(jīng)驗,所以線程相關(guān)的問題在面試中經(jīng)常會被提到。將對象編碼為字節(jié)流稱之為序列化,反之將字節(jié)流重建成對象稱之為反序列化。 JVM 內(nèi)存溢出實例 - 實戰(zhàn) JVM(二) 介紹 JVM 內(nèi)存溢出產(chǎn)生情況分析 Java - 注解詳解 詳細介紹 Java 注解的使用,有利于學習編譯時注解 Java 程序員快速上手 Kot...

    LuDongWei 評論0 收藏0
  • Java線程創(chuàng)建和狀態(tài)信息|樂字節(jié)

    摘要:大家好,我是樂字節(jié)的小樂,好看好學的干貨又來了上一篇我們說到了多線程的概念以及優(yōu)缺點,本文將接著說多線程的創(chuàng)建,以及多線程的狀態(tài)。 大家好,我是樂字節(jié)的小樂,好看好學的Java干貨又來了!上一篇我們說到了Java多線程的概念以及優(yōu)缺點,本文將接著說Java多線程的創(chuàng)建,以及多線程的狀態(tài)。 一、創(chuàng)建線程 1、創(chuàng)建 Thread 的子類 創(chuàng)建: 繼承 Thread +重寫 run 啟動: ...

    linkFly 評論0 收藏0
  • java

    摘要:多線程編程這篇文章分析了多線程的優(yōu)缺點,如何創(chuàng)建多線程,分享了線程安全和線程通信線程池等等一些知識。 中間件技術(shù)入門教程 中間件技術(shù)入門教程,本博客介紹了 ESB、MQ、JMS 的一些知識... SpringBoot 多數(shù)據(jù)源 SpringBoot 使用主從數(shù)據(jù)源 簡易的后臺管理權(quán)限設計 從零開始搭建自己權(quán)限管理框架 Docker 多步構(gòu)建更小的 Java 鏡像 Docker Jav...

    honhon 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<