熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java高級技術 >> 正文

Java的線程安全四種方式五個等級[2]

2022-06-13   來源: Java高級技術 

    immutable  不可變對象

    threadsafe 線程安全的可以放心使用如javautilTimer

    conditionally threadsafe 條件線程安全的如Vector和Hashtable一般是安全的除非存在幾個方法調用之間的順序不能被打斷這時可以用額外的鎖來完成

    threadcompatible 可以使用synchronized (objectReference)來協助完成對線程的調用

    threadhostile 不安全的

    wait & notifyAll

    在循環中使用wait 使用notifyAll而不是notify

    pipe

    java中也有pipe的四個類PipedInputStream PipedInputReader PipedOutputStream PipedOutputWriter 下面是一段生產者消費者的代碼(摘自core javaII)

 
/* set up pipes */
    PipedOutputStream pout = new PipedOutputStream();
    PipedInputStream pin = new PipedInputStream(pout);
    PipedOutputStream pout = new PipedOutputStream();
    PipedInputStream pin = new PipedInputStream(pout);
    /* construct threads */
    Producer prod = new Producer(pout);
    Filter filt = new Filter(pin pout);
    Consumer cons = new Consumer(pin);
    /* start threads */
    prodstart();
    filtstart();
    consstart();

[]  []  


From:http://tw.wingwit.com/Article/program/Java/gj/201311/27705.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.