最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java中線程用法總結(jié)

 更新時(shí)間:2015年06月08日 15:12:25   作者:liuzx32  
這篇文章主要介紹了Java中線程用法,實(shí)例總結(jié)了java中線程的常見使用技巧,需要的朋友可以參考下

本文實(shí)例總結(jié)了Java中線程用法。分享給大家供大家參考。具體分析如下:

1.線程是基本調(diào)度單元。共享進(jìn)程的資源,如內(nèi)存和文件句柄。但有自己的pc(程序計(jì)數(shù)器),stack(線程棧)及本地變量

2.線程的優(yōu)勢(shì):

a) 充分利用多處理器
b) 可以簡(jiǎn)化模型。特定任務(wù)給特定線程。如servlets及rmi等框架。
c) 對(duì)異步事件的簡(jiǎn)單處理。如socket,nio使用更復(fù)雜。而現(xiàn)在的操作系統(tǒng)支持更大數(shù)量的線程。
d) 界面的更佳響應(yīng)

3.內(nèi)部鎖:synchronized塊?;コ???芍厝耄╮eentrancy),這樣的設(shè)計(jì)可以避免死鎖

4.內(nèi)存可見性:因?yàn)榫幾g器的優(yōu)化,線程并不和你看到的一樣。

public class NoVisibility {
private static boolean ready;
private static int number;
private static class ReaderThread extends Thread {
 public void run() {
  while (!ready)
   Thread.yield();
   System.out.println(number);
  }
}
public static void main(String[] args) {
 new ReaderThread().start();
 number = 42;
 ready=true;
}
}

可能打印0,或者一直循環(huán)。因?yàn)橹嘏判蛄?/p>

5.volatile:可以解決內(nèi)存可見性,對(duì)syncronized性能更佳,但僅此而已,如不能保證a++的原子性

6.溢出(escape):不要在構(gòu)造函數(shù)中將this指針溢出。不要將內(nèi)部變量溢出,如:

class Test {
private String[] list = new String[] {};
public String[] getList() {return list;}
}

7.線程封閉:把對(duì)象封閉在一個(gè)線程中,無論對(duì)象是否是線程安全的,都能保證線程安全

a) statck限制。即只有本地變量能訪問該對(duì)象。
b)ThreadLocal。

8.不可變對(duì)象。一定是線程安全的。不可變對(duì)象必須滿足:

a) 狀態(tài)不能在創(chuàng)建后修改。
b) 所以的域都是final
c) 正確創(chuàng)建對(duì)象,沒有this指針溢出

9.安全發(fā)布

a) 通過static初始化對(duì)象
b) 使用volatile或AtomicReference
c) 將引用存儲(chǔ)于正確創(chuàng)建的對(duì)象的final域
d) 使用鎖

希望本文所述對(duì)大家的java程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • java分布式面試接口如何保證冪等及概念理解

    java分布式面試接口如何保證冪等及概念理解

    這篇文章主要為大家介紹了java分布式面試中接口如何保證冪等的問題解答以及概念描述,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2022-03-03
  • Java創(chuàng)建型模式之建造者模式詳解

    Java創(chuàng)建型模式之建造者模式詳解

    建造者模式,是一種對(duì)象構(gòu)建模式 它可以將復(fù)雜對(duì)象的建造過程抽象出來,使這個(gè)抽象過程的不同實(shí)現(xiàn)方法可以構(gòu)造出不同表現(xiàn)的對(duì)象。本文將通過示例講解建造者模式,需要的可以參考一下
    2023-02-02
  • Java?8?Time?Api?使用方法技巧

    Java?8?Time?Api?使用方法技巧

    這篇文章主要介紹了Java?8?Time?Api?使用方法技巧,Java?8為Date和Time引入了新的API,以解決舊java.util.Date和java.util.Calendar的缺點(diǎn),更多相關(guān)內(nèi)容需要的小伙伴可以參考一下
    2022-05-05
  • 教你怎么用Java回溯算法解數(shù)獨(dú)

    教你怎么用Java回溯算法解數(shù)獨(dú)

    一直不太會(huì)數(shù)獨(dú)問題,這次下決定搞明白,所以整理了本篇文章,文中有非常詳細(xì)的代碼示例,對(duì)不會(huì)算法的小伙伴們很有幫助,需要的朋友可以參考下
    2021-06-06
  • MyEclipse10安裝Log4E插件

    MyEclipse10安裝Log4E插件

    這篇文章主要介紹了MyEclipse10安裝Log4E插件的相關(guān)資料,需要的朋友可以參考下
    2017-10-10
  • IDEA集成DeepSeek通過離線安裝解決無法安裝Proxy?AI插件問題(最新推薦)

    IDEA集成DeepSeek通過離線安裝解決無法安裝Proxy?AI插件問題(最新推薦)

    許多開發(fā)者嘗試通過安裝Proxy?AI等插件將AI能力引入IDEA,但在實(shí)際使用中常遭遇插件安裝失敗、網(wǎng)絡(luò)連接不穩(wěn)定或兼容性沖突等問題,本文給大家介紹IDEA集成DeepSeek通過離線安裝解決無法安裝Proxy?AI插件問題,感興趣的朋友一起看看吧
    2019-12-12
  • springboot創(chuàng)建多module項(xiàng)目的實(shí)例

    springboot創(chuàng)建多module項(xiàng)目的實(shí)例

    這篇文章主要介紹了springboot創(chuàng)建多module項(xiàng)目的實(shí)例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • 聊聊SpringCloud中的Ribbon進(jìn)行服務(wù)調(diào)用的問題

    聊聊SpringCloud中的Ribbon進(jìn)行服務(wù)調(diào)用的問題

    SpringCloud-Ribbon是基于Netflix?Ribbon實(shí)現(xiàn)的一套客戶端負(fù)載均衡的工具。本文給大家介紹SpringCloud中的Ribbon進(jìn)行服務(wù)調(diào)用的問題,感興趣的朋友跟隨小編一起看看吧
    2022-01-01
  • 詳解Java中類的加載順序

    詳解Java中類的加載順序

    Java中什么時(shí)候類加載,第一次需要使用類信息時(shí)加載。類加載的原則:延遲加載,能不加載就不加載。下面這篇文章主要介紹了Java中類的加載順序,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-01-01
  • java中Websocket的使用方法例子

    java中Websocket的使用方法例子

    這篇文章主要給大家介紹了關(guān)于java中Websocket的使用方法,WebSocket是HTML5開始提供的一種在瀏覽器和服務(wù)器間進(jìn)行全雙工通信的協(xié)議,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-11-11

最新評(píng)論

右玉县| 盖州市| 射阳县| 大名县| 芮城县| 渭源县| 天气| 长岭县| 阜新市| 乌鲁木齐县| 凉城县| 古浪县| 大渡口区| 岑溪市| 萝北县| 台南市| 洛扎县| 孝昌县| 论坛| 册亨县| 岢岚县| 嘉黎县| 资溪县| 牙克石市| 双牌县| 海兴县| 韶山市| 达尔| 田东县| 定襄县| 漳平市| 敦煌市| 阿拉善左旗| 涪陵区| 西乡县| 响水县| 麻江县| 拜城县| 汉沽区| 手游| 三江|