多线程和并发编程

来源:互联网 发布:黄金趋势分析软件 编辑:程序博客网 时间:2024/05/21 14:51
基础
http://blog.csdn.net/evankaka/article/details/44153709
进阶
http://www.cnblogs.com/duyinqiang/p/5360931.html
超神
http://ifeve.com/talk-concurrency/

读书三遍
1、标记名词,理解概念 建立对概念的基本认知
2、了解知识层次,递进关系(读开头结尾,黑体,粗体关键字)
3、细化,掌握细节,了解源代码


多线程和并发编程API
1) 多线程的基本概念、机制、线程的状态及线程的转换
⁃ 能回答出多线程的优势
⁃ Java线程调度机制
⁃ 栈内存和主存有什么区别,了解Java内存模型
⁃ 线程的状态转换图能画出来
2) 对象锁、同步、数据不一致、高级锁ReenTrantLock可重入锁及Condition手写阻塞队列,实现生产者和消费者问题的解决方案
⁃ 什么是线程不安全?怎么设计一个导致数据不一致的并发程序?
⁃ synchronized关键字的用法,volatile关键字的含义
⁃ 如何用ReenTrantLock取代synchronised关键字,它是什么含义?
⁃ 什么是生产者和消费者模型?是否能写出代码?wait/notify/notifyAll是什么意思?
3)  同步器优先于wait、notify
⁃ BlockQueue
⁃ CountDownLatch
⁃ CycliBarrier
⁃ Semaphore
⁃ ExecutorCompletionService
⁃ java并发编程之同步器 - 
http://blog.csdn.net/huangbiao86/article/details/8089224 

4) 线程池执行任务优于手动执行线程:Executors、ExecutorService、ScheduledExecutorService、
⁃ Java并发编程与技术内幕:线程池深入理解 -  
http://blog.csdn.net/evankaka/article/details/51489322 

5) 并发集合:ConcurrentHashMap、ConcurrentLinkedDeque、ConcurrentSkipListMap、ConcurrentSkipListSet、 CopyOnWriteArrayList\CopyOnWriteArraySet等
⁃ Java并发编程与技术内幕:ConcurrentHashMap源码解析 - 
http://blog.csdn.net/evankaka/article/details/51735036 

http://blog.csdn.net/evankaka/article/details/51832938 

6) 最好了解下ThreaLocal:
http://blog.csdn.net/evankaka/article/details/51705661 


其他的,如原子性、CAS、自旋锁、各种锁,太深了


原创粉丝点击