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

資訊專欄INFORMATION COLUMN

線程和進程——入門

YJNldm / 2603人閱讀

摘要:線程是進程的一個執行單元,是進程內科調度實體,比進程更小的獨立運行的基本單位。資源擁有同一進程內的線程共享本進程的資源,但是進程之間的資源是獨立的。所以涉及到頻繁的切換時,使用線程要好于進程。線程是處理器調度的基本單位,但是進程不是。

什么是進程,什么是線程?

進程:進程是程序的一次執行,是系統進行資源分配和調度的獨立單位。每一個進程都有它自己的內存空間和系統資源。
線程:是進程的一個執行單元,是進程內科調度實體,比進程更小的獨立運行的基本單位。一個進程在其執行的過程中可以產生多個線程,與進程不同的是同類的多個線程共享進程的堆和方法區資源,但每個線程有自己的程序計數器、虛擬機棧和本地方法棧,所以系統在產生一個線程,或是在各個線程之間作切換工作時,負擔要比進程小得多,因此線程也被稱為輕量級進程。
一個程序至少一個進程,一個進程至少一個線程。

進程線程的區別

地址空間:同一進程的線程共享本進程的地址空間,而進程之間則是獨立的地址空間。

資源擁有:同一進程內的線程共享本進程的資源,但是進程之間的資源是獨立的。

一個進程崩潰后,在保護模式下不會對其他進程產生影響,但是一個線程崩潰整個進程都死掉。所以多進程要比多線程健壯。

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

執行過程:每個獨立的進程程有一個程序運行的入口、順序執行序列和程序入口。但是線程不能獨立執行,必須依存在應用程序中,由應用程序提供多個線程執行控制。

線程是處理器調度的基本單位,但是進程不是。

進程是并行的,線程是并發的

并行與并發

并行:
并行性是指同一時刻內發生兩個或多個事件,是在不同實體上的多個事件

并發:

并發性是指同一時間間隔內發生兩個或多個事件,是在同一實體上的多個事件

Java實現多線程

繼承Thread,重寫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) {
        // 創建兩個線程對象
        MyThread my1 = new MyThread();
        MyThread my2 = new MyThread();

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

實現Runnable接口,重寫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) {
        // 創建MyRunnable類的對象
        MyRunnable my = new MyRunnable();

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

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

一般使用實現Runnable接口

jvm虛擬機的啟動是單線程的還是多線程的?

是多線程的。不僅僅是啟動main線程,還至少會啟動垃圾回收線程的

并發基礎筆試題

這是github上一位大佬整理的,個人覺得很棒
并發基礎筆試題

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/75735.html

相關文章

  • node入門基礎

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

    wujl596 評論0 收藏0
  • 入門架構——單機高性能

    摘要:協作方式在高并發場景中,必須要讓服務器同時維護大量請求連接,可能是一個服務進程創建另一個進程,也可能是一個服務線程去創建另一個線程,但連接結束后進程或線程就銷毀了,這是一個巨大的浪費一個自然的想法就是通過創建一個進程線程池從而達到資源復用, showImg(https://segmentfault.com/img/bVbtgn1?w=313&h=208); 協作方式 在高并發場景中,必...

    UCloud 評論0 收藏0
  • swoole入門4-初識swoole

    摘要:當某種網絡事件發生時,會回調用戶設置的指定回調函數。承擔了底層網絡事件的監聽及各種底層事件處理,當收到請求時,會觸發事件提醒,然后將控制權轉交預先注冊的事件回調函數,來進行后續的處理。請求到來時創建,請求結束后銷毀。 運行流程圖 showImg(https://segmentfault.com/img/remote/1460000017207791);showImg(https://s...

    forsigner 評論0 收藏0
  • Python

    摘要:最近看前端都展開了幾場而我大知乎最熱語言還沒有相關。有關書籍的介紹,大部分截取自是官方介紹。但從開始,標準庫為我們提供了模塊,它提供了和兩個類,實現了對和的進一步抽象,對編寫線程池進程池提供了直接的支持。 《流暢的python》閱讀筆記 《流暢的python》是一本適合python進階的書, 里面介紹的基本都是高級的python用法. 對于初學python的人來說, 基礎大概也就夠用了...

    dailybird 評論0 收藏0
  • Java多線程學習(一)Java多線程入門

    摘要:最近聽很多面試的小伙伴說,網上往往是一篇一篇的多線程的文章,除了書籍沒有什么學習多線程的一系列文章。將此線程標記為線程或用戶線程。 最近聽很多面試的小伙伴說,網上往往是一篇一篇的Java多線程的文章,除了書籍沒有什么學習多線程的一系列文章。但是僅僅憑借一兩篇文章很難對多線程有系統的學習,而且面試的時候多線程這方面的知識往往也是考察的重點,所以考慮之下決定寫一系列關于Java多線程的文章...

    Donne 評論0 收藏0

發表評論

0條評論

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