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

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

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

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

    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線程練習題”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。

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

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 九九热免费在线观看 | 亚洲欧美日产综合一区二区三区 | 国产一区二区在线观看免费 | 国产国拍亚洲精品午夜不卡17 | 在线亚洲欧洲福利视频 | 欧美一区二区三区在线播放 | 亚洲第一毛片 | 日韩在线免费视频 | 四虎影院黄色 | 久久久久久久国产a∨ | 四虎在线播放免费永久视频 | 国模和精品嫩模私拍视频 | 国产成人黄网址在线视频 | 亚洲一区二区三 | 狠狠色丁香婷婷久久 | 8090碰成年女人免费碰碰尤物 | 奇米影视第四色888 奇米影视第四色首页 | a级毛片在线观看 | 欧美99热| 最新中文字幕日本 | 一区二区三区中文国产亚洲 | 精品一区二区三区视频在线观看 | 午夜aaaaaaaaa视频在线 | 久久国产精品一区二区三区 | 麻豆久久婷婷综合五月国产 | 国产在线小视频 | 四虎精品久久久久影院 | xxx大片免费视频 | 青青草这里只有精品 | 一道本不卡免费视频 | 中国一级免费毛片 | www.精品在线| 欧美成人激情在线 | 国产精品亚洲欧美日韩区 | 天天干影院| 国产五月婷婷 | 国产草比 | 人人看97| 成人99国产精品一级毛片 | 欧美伦禁片在线播放 | 国产成人禁片免费观看 |