真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

JDK中Collections的線程安全怎么實(shí)現(xiàn)

這篇“JDK中Collections的線程安全怎么實(shí)現(xiàn)”文章的知識(shí)點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價(jià)值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來(lái)看看這篇“JDK中Collections的線程安全怎么實(shí)現(xiàn)”文章吧。

創(chuàng)新互聯(lián)建站專(zhuān)業(yè)為企業(yè)提供臨清網(wǎng)站建設(shè)、臨清做網(wǎng)站、臨清網(wǎng)站設(shè)計(jì)、臨清網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、臨清企業(yè)網(wǎng)站模板建站服務(wù),十余年臨清做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

方法:

  1.   public static  Set synchronizedSet(Set s) {

  2.     return new SynchronizedSet(s);

  3.     }

  1.  static class SynchronizedSet

  2.       extends SynchronizedCollection

  3.       implements Set {

  4.     private static final long serialVersionUID = 487447009682186044L;

  5.     SynchronizedSet(Set s) {

  6.             super(s);

  7.         }

  8.     SynchronizedSet(Set s, Object mutex) {

  9.             super(s, mutex);

  10.         }

  11.     public boolean equals(Object o) {

  12.         synchronized(mutex) {return c.equals(o);}

  13.         }

  14.     public int hashCode() {

  15.         synchronized(mutex) {return c.hashCode();}

  16.         }

  17.     }

  1.     // use serialVersionUID from JDK 1.2.2 for interoperability

  2.     private static final long serialVersionUID = 3053995032091335093L;

  3.     final Collection c;  // Backing Collection

  4.     final Object mutex;     // Object on which to synchronize

  5.     SynchronizedCollection(Collection c) {

  6.             if (c==null)

  7.                 throw new NullPointerException();

  8.         this.c = c;

  9.             mutex = this;

  10.         }

  11.     SynchronizedCollection(Collection c, Object mutex) {

  12.         this.c = c;

  13.             this.mutex = mutex;

  14.         }

  15.     public int size() {

  16.         synchronized(mutex) {return c.size();}

  17.         }

  18.     public boolean isEmpty() {

  19.         synchronized(mutex) {return c.isEmpty();}

  20.         }

  21.     public boolean contains(Object o) {

  22.         synchronized(mutex) {return c.contains(o);}

  23.         }

  24.     public Object[] toArray() {

  25.         synchronized(mutex) {return c.toArray();}

  26.         }

  27.     public  T[] toArray(T[] a) {

  28.         synchronized(mutex) {return c.toArray(a);}

  29.         }

  30.     public Iterator iterator() {

  31.             return c.iterator(); // Must be manually synched by user!

  32.         }

  33.     public boolean add(E e) {

  34.         synchronized(mutex) {return c.add(e);}

  35.         }

  36.     public boolean remove(Object o) {

  37.         synchronized(mutex) {return c.remove(o);}

  38.         }

  39.     public boolean containsAll(Collection coll) {

  40.         synchronized(mutex) {return c.containsAll(coll);}

  41.         }

  42.     public boolean addAll(Collection coll) {

  43.         synchronized(mutex) {return c.addAll(coll);}

  44.         }

  45.     public boolean removeAll(Collection coll) {

  46.         synchronized(mutex) {return c.removeAll(coll);}

  47.         }

  48.     public boolean retainAll(Collection coll) {

  49.         synchronized(mutex) {return c.retainAll(coll);}

  50.         }

  51.     public void clear() {

  52.         synchronized(mutex) {c.clear();}

  53.         }

  54.     public String toString() {

  55.         synchronized(mutex) {return c.toString();}

  56.         }

  57.         private void writeObject(ObjectOutputStream s) throws IOException {

  58.         synchronized(mutex) {s.defaultWriteObject();}

  59.         }

  60.     }

List和Map方法同理,這樣,我們利用了裝實(shí)模式,給我們的Map和List穿上了交通協(xié)管員的制服,減少了類(lèi)爆炸,這就是裝實(shí)模式;

  1. package org;

  2. public class AImp implements IA {

  3.     public synchronized void say() {

  4.         ;

  5.     }

  6. }

  1. package org;

  2. public interface IA {

  3.  public void say();

  4. }

sychronized標(biāo)識(shí)符是不影響接口的實(shí)現(xiàn)和繼承的

以上就是關(guān)于“JDK中Collections的線程安全怎么實(shí)現(xiàn)”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對(duì)大家有幫助,若想了解更多相關(guān)的知識(shí)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


當(dāng)前標(biāo)題:JDK中Collections的線程安全怎么實(shí)現(xiàn)
本文路徑:http://weahome.cn/article/goijge.html

其他資訊

在線咨詢(xún)

微信咨詢(xún)

電話咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部