并发程序设计需要掌握的知识点

本文列举了学习多线程编程的重要知识点,包括synchronized、Runnable、Thread类使用方法、线程池、Future等核心概念,并推荐了相关书籍,帮助读者深入理解并掌握多线程编程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有朋友问过我,怎样学习多线程编程,我总结了一下,列了一下知识点:

1、synchronized
2、Runnable、Thread、Thread.sleep、Thread.yield、Thread.join
3、wait、notify、notifyAll(注意其中锁的获得和释放)
4、Mutex、Semaphore
5、BlockingQueue (十分有用,必须掌握)
6、ThreadPool
7、ExecutorService
8、Future (十分重要,必须掌握)
9、ReadWriteLock
10、Lock、condition。这是很多线程库都包含的内容,概念和synchronized、object.wait、object.notify那套咚咚类似,不过是通过库的方式展现,更加灵活。
、死锁、哲学家就餐问题
12、TSL汇编指令、JDK 1.5中的compareAndSet(java.uti.concurrent.atomic)、Windows API中的InterLock
13、工作线程+请求队列的应用
14、用户线程、内核线程,fork时用户线程问题 (很多Unix和早期的Linux不支持内核线程)
15、Windows Thread API,特色API:WaitForMultiObject


相关的书籍有:
《JAVA多线程设计模式》 结城浩 中国铁道出版社 (这本书讲得很清楚形象,十分适合初学者阅读)
JAVA并发编程—设计原则与模式(第二版) Doug Lea 中国电力出版社 (不可以不看,同时要配合阅读util.concurrent包的源码或者JDK 1.5的源码)
《JAVA线程编程》 Paul Hyde 人民邮电出版社 (我觉得这本书也不错)
《POSIX多线程程序设计》  David R.Butenhof  中国电力出版社
《WINDOWS核心编程》  Jeffrey Richter  机械工业出版社
《UNIX系统编程》 Kay A.Robbins, Steve Robbins  机械工业出版社
《现代操作系统》 Andrew S.Tanenbaum 机械工业出版社
《UNIX 网络编程(第二版)第2卷:进程间通信》W.Richard Stevens 北京科海电子出版社

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值