国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專(zhuān)欄INFORMATION COLUMN

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

gitmilk / 432人閱讀

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

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

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

1、線(xiàn)程概念

多線(xiàn)程,說(shuō)白了就是多條執(zhí)行路徑,原來(lái)是一條路徑,就主路徑(main),現(xiàn)在是多條路徑。就相當(dāng)于高速路,原來(lái)是一條路,因?yàn)檐?chē)多了,為提高使用效率,充分使用這條道路,中間加了個(gè)柵欄, 變成了多條車(chē)道。

注意: 所有的車(chē)共享這條套路。

原來(lái)的執(zhí)行程序?yàn)橐粭l路徑,現(xiàn)在加入多線(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)、兩條路徑

開(kāi)辟新的線(xiàn)程,為兩條執(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、程序、進(jìn)程與多線(xiàn)程

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

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

注意:

很多多線(xiàn)程是模擬出來(lái)的,真正的多線(xiàn)程是指有多個(gè) cpu,即多核,如服務(wù)器。如果是模擬出來(lái)的多線(xiàn)程,即一個(gè) cpu 的情況下,在同一個(gè)時(shí)間點(diǎn),cpu 只能執(zhí)行一個(gè)代碼, 因?yàn)榍袚Q的很快,所以就有同時(shí)執(zhí)行的錯(cuò)覺(jué)。

3、多線(xiàn)程優(yōu)缺點(diǎn) 1)、優(yōu)點(diǎn)

資源利用率更好;程序設(shè)計(jì)在某些情況下更簡(jiǎn)單;程序響應(yīng)更快

2)、缺點(diǎn)

a)設(shè)計(jì)更復(fù)雜雖然有一些多線(xiàn)程應(yīng)用程序比單線(xiàn)程的應(yīng)用程序要簡(jiǎn)單,但其他的一般

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

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

b)上下文切換的開(kāi)銷(xiāo) 當(dāng) CPU 從執(zhí)行一個(gè)線(xiàn)程切換到執(zhí)行另外一個(gè)線(xiàn)程的時(shí)候,它需要

先存儲(chǔ)當(dāng)前線(xiàn)程的本地的數(shù)據(jù),程序 指針等,然后載入另一個(gè)線(xiàn)程的本地?cái)?shù)據(jù),程序指針

等,最后才開(kāi)始執(zhí)行。這種切換稱(chēng)為“上下文切 換”(“context switch”)。CPU 會(huì)在一

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

并不廉價(jià)。如果沒(méi)有必要,應(yīng)該減少上下文切換的發(fā)生。

4、多線(xiàn)程地位

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

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

直接拿來(lái)用即可,如果真的想把多線(xiàn)程學(xué)好,需要掌握很多知識(shí),如操作系統(tǒng)原理、并發(fā)機(jī)

制等。 對(duì)于目前的大家來(lái)說(shuō),線(xiàn)程掌握以下即可:

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

sleep

停止線(xiàn)程

Thread.currentThread

簡(jiǎn)單的 synchronized

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

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/75946.html

相關(guān)文章

  • Java 線(xiàn)程

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

    zorro 評(píng)論0 收藏0
  • Java開(kāi)發(fā)

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

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

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

    linkFly 評(píng)論0 收藏0
  • java

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

    honhon 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<