大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 Java基礎學習:java線程練習題

Java基礎學習:java線程練習題

更新時間:2020-04-28 14:37:55 來源:動力節點 瀏覽3328次

    1.進程和線程的區別是什么?

    進程是執行著的應用程序,而線程是進程內部的一個執行序列。一個進程可以有多個線程。線程又叫做輕量級進程。

    2.創建線程有幾種不同的方式?你喜歡哪一種?為什么?

    有三種方式可以用來創建線程:

    繼承Thread類

    實現Runnable接口

    應用程序可以使用Executor框架來創建線程池

    實現Runnable接口這種方式更受歡迎,因為這不需要繼承Thread類。在應用設計中已經繼承了別的對象的情況下,這需要多繼承(而Java不支持多繼承),只能實現接口。同時,線程池也是非常高效的,很容易實現和使用。

    3.概括的解釋下線程的幾種可用狀態。

    線程在執行過程中,可以處于下面幾種狀態:

    就緒(Runnable):線程準備運行,不一定立馬就能開始執行。

    運行中(Running):進程正在執行線程的代碼。

    等待中(Waiting):線程處于阻塞的狀態,等待外部的處理結束。

    睡眠中(Sleeping):線程被強制睡眠。

    I/O阻塞(BlockedonI/O):等待I/O操作完成。

    同步阻塞(BlockedonSynchronization):等待獲取鎖。

    死亡(Dead):線程完成了執行。

    4.同步方法和同步代碼塊的區別是什么?

    在Java語言中,每一個對象有一把鎖。線程可以使用synchronized關鍵字來獲取對象上的鎖。synchronized關鍵字可應用在方法級別(粗粒度鎖)或者是代碼塊級別(細粒度鎖)。

    5.在監視器(Monitor)內部,是如何做線程同步的?程序應該做哪種級別的同步?

    監視器和鎖在Java虛擬機中是一塊使用的。監視器監視一塊同步代碼塊,確保一次只有一個線程執行同步代碼塊。每一個監視器都和一個對象引用相關聯。線程在獲取鎖之前不允許執行同步代碼。

    6.什么是死鎖(deadlock)?

    兩個進程都在等待對方執行完畢才能繼續往下執行的時候就發生了死鎖。結果就是兩個進程都陷入了無限的等待中。

    7.如何確保N個線程可以訪問N個資源同時又不導致死鎖?

    使用多線程的時候,一種非常簡單的避免死鎖的方式就是:指定獲取鎖的順序,并強制線程按照指定的順序獲取鎖。因此,如果所有的線程都是以同樣的順序加鎖和釋放鎖,就不會出現死鎖了。

    8.Java內存模型是什么?

    Java內存模型規定和指引Java程序在不同的內存架構、CPU和操作系統間有確定性地行為。它在多線程的情況下尤其重要。Java內存模型對一個線程所做的變動能被其它線程可見提供了保證,它們之間是先行發生關系。這個關系定義了一些規則讓程序員在并發編程時思路更清晰。比如,先行發生關系確保了:

    線程內的代碼能夠按先后順序執行,這被稱為程序次序規則。

    對于同一個鎖,一個解鎖操作一定要發生在時間上后發生的另一個鎖定操作之前,也叫做管程鎖定規則。

    前一個對volatile的寫操作在后一個volatile的讀操作之前,也叫volatile變量規則。

    一個線程內的任何操作必需在這個線程的start()調用之后,也叫作線程啟動規則。

    一個線程的所有操作都會在線程終止之前,線程終止規則。

    一個對象的終結操作必需在這個對象構造完成之后,也叫對象終結規則。

    可傳遞性

    9.Java中的volatile變量是什么?

    volatile是一個特殊的修飾符,只有成員變量才能使用它。在Java并發程序缺少同步類的情況下,多線程對成員變量的操作對其它線程是透明的。volatile變量可以保證下一個讀取操作會在前一個寫操作之后發生。

    10.什么是線程安全?Vector是一個線程安全類嗎?

    如果你的代碼所在的進程中有多個線程在同時運行,而這些線程可能會同時運行這段代碼。如果每次運行結果和單線程運行的結果是一樣的,而且其他的變量的值也和預期的是一樣的,就是線程安全的。一個線程安全的計數器類的同一個實例對象在被多個線程使用的情況下也不會出現計算失誤。很顯然你可以將集合類分成兩組,線程安全和非線程安全的。Vector是用同步方法來實現線程安全的,而和它相似的ArrayList不是線程安全的。

Java基礎學習:java線程練習題

 以上就是動力節點java培訓機構的小編針對“Java基礎學習:java線程練習題”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 奇米影视777狠狠狠888不卡 | 色综合久久综合网 | 91国内在线视频 | 四虎永久在线精品国产免费 | 精品在线视频观看 | 国产九色 | 日本一级看片免费播放 | 国产成人精品久久综合 | 日日日操操操 | 精品欧美一区手机在线观看 | 久久91视频 | 亚洲国产日韩欧美高清片a 亚洲国产日韩欧美一区二区三区 | 亚洲成年人免费网站 | 国产美女白丝袜精品_a不卡 | 日日摸狠狠的摸夜夜摸 | 一本一道波多野结衣一区二区 | 手机看片欧美 | 天海冀一二三区 | 91资源在线视频 | 成人国产在线24小时播放视频 | 女性一级全黄生活片免费看 | 天天射日日| 精品无人区乱码1区2区 | cao美女视频网站在线观看 | 玖玖中文字幕 | 成人网视频 | 欧美在线操 | 色综合久久88中文字幕 | 尤物视频在线 | 欧美一级aa免费毛片 | 韩国一大片a毛片 | 好看的中文字幕在线 | 国产免费播放 | 特级毛片在线大全免费播放 | 久久久成人网 | 亚洲成人在线视频 | 免费福利小视频 | 免费a级特黄国产大片 | 性xxx69xxx视频在线观看 | 亚洲一级片在线观看 | 久久网站免费 |