1. 前提
- 链表,是基本数据结构;
- resize方法,操作了线程的共同资源;
2. 根本
hashmap死锁主要是一个线程执行transfer过程中,被另一个线程改变了链表元素(共同资源)的指针指向;
3. “方法论”
多线程不安全的根本原因在于对共同资源的操作。
若内存可见,那么会导致对共同资源的执行操作乱序,关系错乱;
若内存不可见,那么当最后一个线程将newTable赋值给table时,会覆盖(修改);
hashmap死锁主要是一个线程执行transfer过程中,被另一个线程改变了链表元素(共同资源)的指针指向;
多线程不安全的根本原因在于对共同资源的操作。
若内存可见,那么会导致对共同资源的执行操作乱序,关系错乱;
若内存不可见,那么当最后一个线程将newTable赋值给table时,会覆盖(修改);
簡介 常見線程池種類 種類 核心線程數 最大線程數 描述 SingleThreadPool 1 1 只一個線程在工作,相當於單線程順序串行執行所有任務。 FixedThreadPool 存在 無(
其他網址 新線程世界:一針見血多線程(注重思想) Java併發性和多線程介紹目錄 | 併發編程網 – ifeve.com(注重實踐)