国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Java練習(xí)題匯總】《第一行代碼JAVA》多線程篇,匯總Java練習(xí)題——線程及多線程概念、Thread 類及 Runnable 接口、線程狀態(tài)、synchronized同步操作...

這篇具有很好參考價值的文章主要介紹了【Java練習(xí)題匯總】《第一行代碼JAVA》多線程篇,匯總Java練習(xí)題——線程及多線程概念、Thread 類及 Runnable 接口、線程狀態(tài)、synchronized同步操作...。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1?? 多線程篇

一、填空題

  1. Java 多線程可以依靠________ 、________ 和________ 三種方式實現(xiàn)。
  2. 多個線程操作同一資源的時候需要注意________,依靠________ 關(guān)鍵字實現(xiàn),實現(xiàn)手段是:________ 和________,過多的使用,則會出現(xiàn)________ 問題。
  3. Java 程序運行時,至少啟動________ 個線程,分別是________ 和________ 。
  4. main 線程的優(yōu)先級是________ 。
  5. 線程在生命周期中要經(jīng)歷五種狀態(tài),分別是________狀態(tài)、________狀態(tài)、________狀態(tài)、________狀態(tài)和________狀態(tài)。
  6. Object類提供的________ 、________ 和________ 三個方法可以控制線程。

二、選擇題

  1. 線程的啟動方法是( )。
    A. run()
    B. start()
    C. begin()
    D. accept()

  2. Thread 類提供表示線程優(yōu)先級的靜態(tài)常量,代表普通優(yōu)先級的靜態(tài)常量是( )。
    A. MAX _PRIORITY
    B. MIN_PRIORITY
    C. NORMAL_PRIORITY
    D. NORM_PRIORITY

  3. 設(shè)置線程優(yōu)先級的方法是( )。
    A. setPriority()
    B. getPriority()
    C. getName()
    D. setName()

  4. Thread 類的 ( )方法是不建議使用的。
    A. stop()
    B. suspend()
    C. resume()
    D. 全部都是

  5. 下列 ( ) 關(guān)鍵字通常用來對對象加鎖,從而使得對對象的訪問是排他的。
    A. serialize
    B. transient
    C. synchronized
    D. static

三、 判斷題

  1. Java 直接調(diào)用 Thread 類中的 run(方法可以啟動一個線程。 ( )
  2. 進(jìn)程是在線程的基礎(chǔ)之上的進(jìn)一步劃分。 ( )
  3. Java 是多線程的編程語言。 ( )
  4. 不管使用 Callable 還是Runnable 接口實現(xiàn)的多線程最終都需要通過Thread 類啟動。 ( )

四、 簡答題

  1. 簡述線程兩種實現(xiàn)方式及區(qū)別。
  2. 簡述死鎖的產(chǎn)生。

五、 編程題文章來源地址http://www.zghlxwxcb.cn/news/detail-602156.html

  1. 設(shè)計四個線程對象,兩個線程執(zhí)行減操作,兩個線程執(zhí)行加操作。

2?? 答案

一、填空題

  1. 繼承Thread類、實現(xiàn)Runnable接口 和使用線程池
  2. 線程安全,synchronized ,實現(xiàn)手段是:同步代碼塊 和同步方法,過多的使用,死鎖
  3. 一個,主線程 和其他由程序創(chuàng)建的線程
  4. 5
  5. 新建狀態(tài)、就緒狀態(tài)、運行狀態(tài)、阻塞狀態(tài)和終止?fàn)顟B(tài)
  6. wait()、notify() 和notifyAll()

二、選擇題

  1. ( B )
  2. ( D )
  3. ( A )
  4. ( A )
  5. ( C )

三、 判斷題

  1. ( ? )
  2. ( ?? )
  3. ( ?? )
  4. ( ?? )

四、 簡答題

  1. 簡述線程兩種實現(xiàn)方式及區(qū)別。

    兩種線程的實現(xiàn)方式分別是繼承Thread類和實現(xiàn)Runnable接口。

    • 繼承Thread類:通過繼承Thread類并重寫其run()方法來創(chuàng)建線程。這種方式相對簡單,但由于Java只支持單繼承,因此如果已經(jīng)繼承了其他類,則不能再直接使用該方式創(chuàng)建線程。

    • 實現(xiàn)Runnable接口:通過實現(xiàn)Runnable接口,并實現(xiàn)其run()方法來創(chuàng)建線程。這種方式更加靈活,因為Java支持多個接口的實現(xiàn)。同時,可以將Runnable對象傳遞給Thread類的構(gòu)造函數(shù),在需要時創(chuàng)建線程。

    區(qū)別:

    • 繼承Thread類的方式限制了單繼承的特性,因為一個類只能繼承一個父類。但它可以通過重寫Thread類的方法來定義線程的行為。
    • 實現(xiàn)Runnable接口的方式克服了單繼承的限制,因為它允許類實現(xiàn)多個接口,并將實現(xiàn)了Runnable接口的類作為參數(shù)傳遞給Thread類的構(gòu)造函數(shù)。
    • 使用Runnable接口的方式更加常見和推薦,因為它可以更好地符合面向?qū)ο蟮脑O(shè)計原則,將線程的任務(wù)與線程本身進(jìn)行解耦。
  2. 簡述死鎖的產(chǎn)生。

    死鎖是指多個線程因相互等待對方所持有的資源而無法繼續(xù)執(zhí)行的情況。死鎖的產(chǎn)生通常涉及以下四個條件:

    • 互斥條件:至少有一個資源被多個線程排他性地持有,即一次只能由一個線程使用。
    • 請求與保持條件:一個線程在持有了部分資源的同時,繼續(xù)請求其他資源。
    • 不可剝奪條件:已經(jīng)分配給一個線程的資源不能被強制性地剝奪。
    • 循環(huán)等待條件:存在一個等待循環(huán),每個線程都等待下一個線程所持有的資源。

    當(dāng)以上條件同時滿足時,就可能引發(fā)死鎖現(xiàn)象。當(dāng)多個線程都在等待獲取對方所擁有的資源,而無法釋放自己持有的資源時,就會陷入死鎖狀態(tài),程序無法繼續(xù)執(zhí)行下去。

五、 編程題

  1. 代碼如下:
    public class AddSubThread implements Runnable {
        private static int number = 0;
        private int operation;
    
        public AddSubThread(int operation) {
            this.operation = operation;
        }
    
        @Override
        public void run() {
            if (operation == 0) {
                for (int i = 0; i < 5; i++) {
                    synchronized (AddSubThread.class) {
                        number++;
                        System.out.println("加操作:" + number);
                    }
                    try {
                        Thread.sleep(1000);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
            } else {
                for (int i = 0; i < 5; i++) {
                    synchronized (AddSubThread.class) {
                        number--;
                        System.out.println("減操作:" + number);
                    }
                    try {
                        Thread.sleep(1000);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
            }
        }
    
        public static void main(String[] args) {
            // 創(chuàng)建四個線程對象,兩個線程執(zhí)行加操作,兩個線程執(zhí)行減操作
            Thread t1 = new Thread(new AddSubThread(0));
            Thread t2 = new Thread(new AddSubThread(0));
            Thread t3 = new Thread(new AddSubThread(1));
            Thread t4 = new Thread(new AddSubThread(1));
    
            // 啟動線程
            t1.start();
            t2.start();
            t3.start();
            t4.start();
        }
    }
    
    

【Java練習(xí)題匯總】《第一行代碼JAVA》多線程篇,匯總Java練習(xí)題——線程及多線程概念、Thread 類及 Runnable 接口、線程狀態(tài)、synchronized同步操作...,# Java練習(xí)題,java,開發(fā)語言,經(jīng)驗分享,java-ee,jvm,后端

到了這里,關(guān)于【Java練習(xí)題匯總】《第一行代碼JAVA》多線程篇,匯總Java練習(xí)題——線程及多線程概念、Thread 類及 Runnable 接口、線程狀態(tài)、synchronized同步操作...的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Java 練習(xí)題

    臺式機,安卓手機,iPhone手機,他們其實都是計算機,計算機干的事情就是嚴(yán)格的執(zhí)行人的指令,但是目前的科技條件下,電腦仍然有一個很大的短板,這個短板是? A 思考 B 計算 答案:A 計算機不能思考,那他是如何工作的呢,下面的描述哪個是對的? A 等待人工智能的進(jìn)

    2024年02月03日
    瀏覽(25)
  • java -- 練習(xí)題

    1.定義一個Person類,要求有姓名和年齡,并且符合JavaBean標(biāo)準(zhǔn),定義Student類繼承Person,定義測試類,創(chuàng)建Student對象,要求創(chuàng)建Student對象的同時,指定Student對象的姓名為\\\"張三\\\",只能指定姓名不許指定年齡 2.按照以下要求定義類 3.鍵盤錄入一個字符串,判斷這個字符串是否是對稱的字符串

    2023年04月09日
    瀏覽(28)
  • Java練習(xí)題2022-1

    Java練習(xí)題2022-1

    HashSet是Java中常用的Set集合,向HashSet集合中添加數(shù)據(jù)對象時,首先會調(diào)用對象的hashCode()方法獲取哈希碼,根據(jù)哈希碼計算對象的存儲位置,如果相應(yīng)位置上已經(jīng)有數(shù)據(jù)對象,則會調(diào)用對象的equals()方法判斷新加入的對象與現(xiàn)有對象是否重復(fù),如果重復(fù)則拒絕加入。為了使用

    2024年02月08日
    瀏覽(23)
  • JAVA練習(xí)題——判斷題

    1:java語言中不用區(qū)分字母的大寫小寫 T???????? F 2:Java的字符類型采用的是ASCII編碼。 T???????? F 3:Java的字符類型采用的是Unicode編碼,每個Unicode碼占16個比特。 T ? ???????F 4:Java的各種數(shù)據(jù)類型占用固定長度,與具體的軟硬件平臺環(huán)境無關(guān)。 T? ???????F

    2024年02月09日
    瀏覽(29)
  • Java選擇結(jié)構(gòu)作業(yè)練習(xí)題

    Java選擇結(jié)構(gòu)作業(yè)練習(xí)題

    1.從鍵盤輸入3個數(shù),求最大值 請輸入3個數(shù): 5 2 11 ? 你好,最大數(shù)是11 我想買車,買什么車決定于我在銀行有多少存款: 如果我的存款超過500萬,我就買卡迪拉克 否則,如果我的存款超過100萬,我就買帕薩特 否則, 如果我的存款超過50萬,我就買依蘭特 否則, 如果我的存

    2024年02月02日
    瀏覽(32)
  • Java入門篇 之 邏輯控制(練習(xí)題篇)

    Java入門篇 之 邏輯控制(練習(xí)題篇)

    博主碎碎念: 練習(xí)題是需要大家自己打的請在自己嘗試后再看答案哦; 個人認(rèn)為,只要自己努力在將來的某一天一定會看到回報,在看這篇博客的你,不就是在努力嗎,所以啊,不要放棄,路上必定坎坷,但是成功后放眼望去,這將是青春很濃重的一筆 今日份勵志文案 :若結(jié)

    2024年02月06日
    瀏覽(28)
  • 2021級Java程序設(shè)計課程練習(xí)題

    2021級Java程序設(shè)計課程練習(xí)題

    1-1 抽象類是不能實例化的。? T ? 1-2?JAVA抽象類中一定含有抽象方法。? F ? 答題時沒有看到一定qaq,抽象類不一定包含抽象方法,但包含抽象方法的類一定是抽象類。 2-2 有如下程序代碼, 程序運行的結(jié)果是( )。 D.false true 第一個竟然是false?。?! 使用“==”比較兩個字符

    2023年04月23日
    瀏覽(32)
  • Java練習(xí)題-用冒泡排序法實現(xiàn)數(shù)組排序

    Java練習(xí)題-用冒泡排序法實現(xiàn)數(shù)組排序

    ?作者簡介:CSDN內(nèi)容合伙人、阿里云專家博主、51CTO專家博主、新星計劃第三季python賽道Top1?? ??個人主頁:hacker707的csdn博客 ??系列專欄:Java練習(xí)題 ??個人格言:不斷的翻越一座又一座的高山,那樣的人生才是我想要的。這一馬平川,一眼見底的活,我不想要,我的人生

    2024年02月08日
    瀏覽(22)
  • Java從入門到熟悉的48道練習(xí)題[完結(jié)]

    Java從入門到熟悉的48道練習(xí)題[完結(jié)]

    Ps:好久沒寫blog,所以打算寫一個作業(yè)練習(xí)的系列,可以讓新手更容易上手。大家加油?。U話不多說,上代碼。 睡覺前把下午完成的作業(yè)寫到blog,好困。。。要是能有個人給我點個贊我將會無比高興!! PS:以上只是我自己的解題方法,代碼么,其實沒有什么標(biāo)準(zhǔn)的死答案,

    2024年02月04日
    瀏覽(22)
  • 【Java基礎(chǔ)篇】邏輯控制練習(xí)題與猜數(shù)字游戲

    【Java基礎(chǔ)篇】邏輯控制練習(xí)題與猜數(shù)字游戲

    作者簡介: 辭七七,目前大一,正在學(xué)習(xí)C/C++,Java,Python等 作者主頁: 七七的個人主頁 文章收錄專欄 :Java.SE,本專欄主要講解運算符,程序邏輯控制,方法的使用,數(shù)組的使用,類和對象,繼承和多態(tài),抽象類和接口等內(nèi)容 歡迎大家點贊 ?? 收藏 ? 加關(guān)注哦!???? 判

    2024年02月08日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包