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

資訊專欄INFORMATION COLUMN

線程和進(jìn)程——入門

YJNldm / 2612人閱讀

摘要:線程是進(jìn)程的一個(gè)執(zhí)行單元,是進(jìn)程內(nèi)科調(diào)度實(shí)體,比進(jìn)程更小的獨(dú)立運(yùn)行的基本單位。資源擁有同一進(jìn)程內(nèi)的線程共享本進(jìn)程的資源,但是進(jìn)程之間的資源是獨(dú)立的。所以涉及到頻繁的切換時(shí),使用線程要好于進(jìn)程。線程是處理器調(diào)度的基本單位,但是進(jìn)程不是。

什么是進(jìn)程,什么是線程?

進(jìn)程:進(jìn)程是程序的一次執(zhí)行,是系統(tǒng)進(jìn)行資源分配和調(diào)度的獨(dú)立單位。每一個(gè)進(jìn)程都有它自己的內(nèi)存空間和系統(tǒng)資源。
線程:是進(jìn)程的一個(gè)執(zhí)行單元,是進(jìn)程內(nèi)科調(diào)度實(shí)體,比進(jìn)程更小的獨(dú)立運(yùn)行的基本單位。一個(gè)進(jìn)程在其執(zhí)行的過(guò)程中可以產(chǎn)生多個(gè)線程,與進(jìn)程不同的是同類的多個(gè)線程共享進(jìn)程的堆和方法區(qū)資源,但每個(gè)線程有自己的程序計(jì)數(shù)器、虛擬機(jī)棧和本地方法棧,所以系統(tǒng)在產(chǎn)生一個(gè)線程,或是在各個(gè)線程之間作切換工作時(shí),負(fù)擔(dān)要比進(jìn)程小得多,因此線程也被稱為輕量級(jí)進(jìn)程。
一個(gè)程序至少一個(gè)進(jìn)程,一個(gè)進(jìn)程至少一個(gè)線程。

進(jìn)程線程的區(qū)別

地址空間:同一進(jìn)程的線程共享本進(jìn)程的地址空間,而進(jìn)程之間則是獨(dú)立的地址空間。

資源擁有:同一進(jìn)程內(nèi)的線程共享本進(jìn)程的資源,但是進(jìn)程之間的資源是獨(dú)立的。

一個(gè)進(jìn)程崩潰后,在保護(hù)模式下不會(huì)對(duì)其他進(jìn)程產(chǎn)生影響,但是一個(gè)線程崩潰整個(gè)進(jìn)程都死掉。所以多進(jìn)程要比多線程健壯。

進(jìn)程切換時(shí),消耗的資源大,效率高。所以涉及到頻繁的切換時(shí),使用線程要好于進(jìn)程。同樣如果要求同時(shí)進(jìn)行并且又要共享某些變量的并發(fā)操作,只能用線程不能用進(jìn)程。

執(zhí)行過(guò)程:每個(gè)獨(dú)立的進(jìn)程程有一個(gè)程序運(yùn)行的入口、順序執(zhí)行序列和程序入口。但是線程不能獨(dú)立執(zhí)行,必須依存在應(yīng)用程序中,由應(yīng)用程序提供多個(gè)線程執(zhí)行控制。

線程是處理器調(diào)度的基本單位,但是進(jìn)程不是。

進(jìn)程是并行的,線程是并發(fā)的

并行與并發(fā)

并行:
并行性是指同一時(shí)刻內(nèi)發(fā)生兩個(gè)或多個(gè)事件,是在不同實(shí)體上的多個(gè)事件

并發(fā):

并發(fā)性是指同一時(shí)間間隔內(nèi)發(fā)生兩個(gè)或多個(gè)事件,是在同一實(shí)體上的多個(gè)事件

Java實(shí)現(xiàn)多線程

繼承Thread,重寫(xiě)run方法

public class MyThread extends Thread {
    @Override
    public void run() {
        for (int x = 0; x < 200; x++) {
            System.out.println(x);
        }
    }

}
public class MyThreadDemo {
    public static void main(String[] args) {
        // 創(chuàng)建兩個(gè)線程對(duì)象
        MyThread my1 = new MyThread();
        MyThread my2 = new MyThread();

        my1.start();
        my2.start();
    }
}

實(shí)現(xiàn)Runnable接口,重寫(xiě)run方法

public class MyRunnable implements Runnable {

    @Override
    public void run() {
        for (int x = 0; x < 100; x++) {
            System.out.println(x);
        }
    }

}
public class MyRunnableDemo {
    public static void main(String[] args) {
        // 創(chuàng)建MyRunnable類的對(duì)象
        MyRunnable my = new MyRunnable();

        Thread t1 = new Thread(my);
        Thread t2 = new Thread(my);

        t1.start();
        t2.start();
    }
}

一般使用實(shí)現(xiàn)Runnable接口

jvm虛擬機(jī)的啟動(dòng)是單線程的還是多線程的?

是多線程的。不僅僅是啟動(dòng)main線程,還至少會(huì)啟動(dòng)垃圾回收線程的

并發(fā)基礎(chǔ)筆試題

這是github上一位大佬整理的,個(gè)人覺(jué)得很棒
并發(fā)基礎(chǔ)筆試題

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

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

相關(guān)文章

  • node入門基礎(chǔ)

    摘要:入門是一門基于的后臺(tái)編程語(yǔ)言,由于其解析引擎為引擎,性能比較強(qiáng)大,再加上與前端語(yǔ)言關(guān)系更為密切的先天優(yōu)勢(shì),使其在眾多后臺(tái)編程語(yǔ)言中脫穎而出。那么線程呢,線程,有時(shí)被稱為輕量級(jí)進(jìn)程,,是程序執(zhí)行流的最小單元。 node入門 nodejs是一門基于JavaScript的后臺(tái)編程語(yǔ)言,由于其解析引擎為V8引擎,性能比較強(qiáng)大,再加上與前端語(yǔ)言關(guān)系更為密切的先天優(yōu)勢(shì),使其在眾多后臺(tái)編程語(yǔ)言中脫穎...

    wujl596 評(píng)論0 收藏0
  • 入門架構(gòu)——單機(jī)高性能

    摘要:協(xié)作方式在高并發(fā)場(chǎng)景中,必須要讓服務(wù)器同時(shí)維護(hù)大量請(qǐng)求連接,可能是一個(gè)服務(wù)進(jìn)程創(chuàng)建另一個(gè)進(jìn)程,也可能是一個(gè)服務(wù)線程去創(chuàng)建另一個(gè)線程,但連接結(jié)束后進(jìn)程或線程就銷毀了,這是一個(gè)巨大的浪費(fèi)一個(gè)自然的想法就是通過(guò)創(chuàng)建一個(gè)進(jìn)程線程池從而達(dá)到資源復(fù)用, showImg(https://segmentfault.com/img/bVbtgn1?w=313&h=208); 協(xié)作方式 在高并發(fā)場(chǎng)景中,必...

    UCloud 評(píng)論0 收藏0
  • swoole入門4-初識(shí)swoole

    摘要:當(dāng)某種網(wǎng)絡(luò)事件發(fā)生時(shí),會(huì)回調(diào)用戶設(shè)置的指定回調(diào)函數(shù)。承擔(dān)了底層網(wǎng)絡(luò)事件的監(jiān)聽(tīng)及各種底層事件處理,當(dāng)收到請(qǐng)求時(shí),會(huì)觸發(fā)事件提醒,然后將控制權(quán)轉(zhuǎn)交預(yù)先注冊(cè)的事件回調(diào)函數(shù),來(lái)進(jìn)行后續(xù)的處理。請(qǐng)求到來(lái)時(shí)創(chuàng)建,請(qǐng)求結(jié)束后銷毀。 運(yùn)行流程圖 showImg(https://segmentfault.com/img/remote/1460000017207791);showImg(https://s...

    forsigner 評(píng)論0 收藏0
  • Python

    摘要:最近看前端都展開(kāi)了幾場(chǎng)而我大知乎最熱語(yǔ)言還沒(méi)有相關(guān)。有關(guān)書(shū)籍的介紹,大部分截取自是官方介紹。但從開(kāi)始,標(biāo)準(zhǔn)庫(kù)為我們提供了模塊,它提供了和兩個(gè)類,實(shí)現(xiàn)了對(duì)和的進(jìn)一步抽象,對(duì)編寫(xiě)線程池進(jìn)程池提供了直接的支持。 《流暢的python》閱讀筆記 《流暢的python》是一本適合python進(jìn)階的書(shū), 里面介紹的基本都是高級(jí)的python用法. 對(duì)于初學(xué)python的人來(lái)說(shuō), 基礎(chǔ)大概也就夠用了...

    dailybird 評(píng)論0 收藏0
  • Java多線程學(xué)習(xí)(一)Java多線程入門

    摘要:最近聽(tīng)很多面試的小伙伴說(shuō),網(wǎng)上往往是一篇一篇的多線程的文章,除了書(shū)籍沒(méi)有什么學(xué)習(xí)多線程的一系列文章。將此線程標(biāo)記為線程或用戶線程。 最近聽(tīng)很多面試的小伙伴說(shuō),網(wǎng)上往往是一篇一篇的Java多線程的文章,除了書(shū)籍沒(méi)有什么學(xué)習(xí)多線程的一系列文章。但是僅僅憑借一兩篇文章很難對(duì)多線程有系統(tǒng)的學(xué)習(xí),而且面試的時(shí)候多線程這方面的知識(shí)往往也是考察的重點(diǎn),所以考慮之下決定寫(xiě)一系列關(guān)于Java多線程的文章...

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

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

0條評(píng)論

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