多線程調試方法:
使用eclipse的debugger,設置多線程的調試條件等,觀察;
線程dump及分析:
使用jps;jstack pid;jstack -l pid;查看dump日誌;
JDK8對併發的新支持:
LongAdder
累加器,類似AtomicInteger的使用方法;
在AtomicInteger上進行了熱電分離;
add(long x),increment(),sum()等;
CompletableTuture
實現CompletionStage接口(40餘個方法);
java8中對Future的增強版;
支持流式調用;
StampedLock
讀寫鎖的改進;
讀不阻塞寫;
- CLH自旋鎖
- 鎖維護一個等待線程隊列;
- 不會無休止的自旋,會在若干次自旋後掛起線程;