java 併發程式設計
1 併發程式設計的阻塞佇列 BlockingQueue,個人理解jar包底層多用這個類,實際開發中用的多的是 非阻塞佇列居多
阻塞佇列 (BlockingQueue)是Java util.concurrent包下重要的資料結構,BlockingQueue提供了執行緒安全的佇列訪問方式:當阻塞佇列進行插入資料時,如果佇列已滿,執行緒將會阻塞等待直到佇列非滿;從阻塞佇列取資料時,如果佇列已空,執行緒將會阻塞等待直到佇列非空。併發包下很多高階同步類的實現都是基於BlockingQueue實現的。
2 ConcurrentHashmap concurrentSkipListMap 兩者的區別
都是多執行緒下安全的 Map,前者不支援排序,因為是hash的,後者支援自然排序,和自定義排序,必須實現的是Compable而不是compatator介面
package note;
import java.util.Comparator;
import java.util.concurrent.ConcurrentSkipListMap;
public class Test {
public static void main(String[] args) {
ConcurrentSkipListMap<Student , String>
map = new ConcurrentSkipListMap<>();
map.put(new Student(66), "ddd");
map.put(new Student(55), "ddd");
System.out.println(map);
}
}
class Student implements Comparable<Student>{
private int age;
public int getAge() {
return age;
}
public Student(int age){
this.age=age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "Student [age=" + age + "]";
}
@Override
public int compareTo(Student o) {
return this.getAge()-o.getAge();
}
}
結果如下:
{Student [age=55]=ddd, Student [age=66]=ddd}
相關文章
- java併發程式設計系列:java併發程式設計背景知識Java程式設計
- Java併發程式設計Java程式設計
- Java併發程式設計 - 第十一章 Java併發程式設計實踐Java程式設計
- Java併發程式設計—ThreadLocalJava程式設計thread
- Java併發程式設計:synchronizedJava程式設計synchronized
- Java併發程式設計 -- ThreadLocalJava程式設計thread
- Java併發程式設計 -- ConditionJava程式設計
- Java併發程式設計——ThreadLocalJava程式設計thread
- java-併發程式設計Java程式設計
- Java 併發程式設計解析Java程式設計
- Java併發程式設計-CASJava程式設計
- Java併發程式設計:LockJava程式設計
- Java併發程式設計---java規範與模式下的併發程式設計1.1Java程式設計模式
- Java併發程式設計-鎖及併發容器Java程式設計
- Java併發程式設計之synchronizedJava程式設計synchronized
- Java併發程式設計藝術Java程式設計
- Java併發程式設計實踐Java程式設計
- Java併發程式設計基礎Java程式設計
- Java 併發程式設計 Executor 框架Java程式設計框架
- Java 併發程式設計要點Java程式設計
- 【Java併發程式設計】一、為什麼需要學習併發程式設計?Java程式設計
- Java併發程式設計之Java CAS操作Java程式設計
- Java併發程式設計:Java執行緒Java程式設計執行緒
- 《java併發程式設計的藝術》併發工具類Java程式設計
- Java併發程式設計:阻塞佇列Java程式設計佇列
- Java併發程式設計:深入剖析ThreadLocalJava程式設計thread
- Java併發程式設計——synchronize 和 ReentrantLockJava程式設計ReentrantLock
- Java併發程式設計ForkJoin的DemoJava程式設計
- 《java學習二》併發程式設計Java程式設計
- Java 併發程式設計之 Condition 介面Java程式設計
- Java併發程式設計——阻塞佇列Java程式設計佇列
- Java併發程式設計的藝術,解讀併發程式設計的優缺點Java程式設計
- Java併發程式設計:Java記憶體模型Java程式設計記憶體模型
- 《java併發程式設計的藝術》併發容器和框架Java程式設計框架
- Java併發程式設計中的設計模式解析(一)Java程式設計設計模式
- java 併發程式設計-AQS原始碼分析Java程式設計AQS原始碼
- Java併發程式設計實踐-this溢位Java程式設計
- JAVA併發程式設計實踐 下載Java程式設計