Java多线程
精神小队长
半生编程,朝朝暮暮
展开
-
2. synchronized创造的独占世界
整篇由线程安全的诱因入手,探讨synchronized具体实现方式,期间简要穿插STW、CAS、JDK6后的锁革命,后续篇章再一一对其介绍。线程安全诱因: 1. 临界数据(共享数据) 2. 多线程同时操作临界数据Mutually exclusive(互斥机制,中央集权)互斥锁:保证同一时刻,只有一个线程在操作共享数据,期间其余竞争进程等待其完成。而Java中的每个对象,都拥...原创 2018-07-05 00:35:39 · 214 阅读 · 0 评论 -
1. Java线程的基础储备
目录:线程的基本状态基础操作基本状态进程和线程的关联: 在《高并发程序设计》中,作者的比喻十分巧妙。进程是一个容器,比如一间明亮的小别墅,里面的电视、厨房、洗手间等都是临界资源,一家三口各为独立线程,当他们各司其职,互不干扰,比如,妈妈在厨房做饭,爸爸在书房工作,女儿在客厅看卡通节目,一家其乐融融,小别墅的生活就十分惬意。但当爸爸想去客厅看体育频道时,就和女儿产生了资源的竞争,这就...原创 2019-04-10 00:02:21 · 229 阅读 · 0 评论 -
3. 线程的休眠
目录为何需要Thread.sleep()sleep()的霸道独执休眠线程显式控制线程调度,是让所有线程获得执行机会的好办法/** * Causes the currently executing thread to sleep (temporarily cease * execution) for the specified number of millise...原创 2019-04-10 00:04:06 · 181 阅读 · 0 评论 -
《高并发程序设计》-笔记
多线程间的协调性,乱序性。并发(concurrent)与并行(parallel)临界区活跃性问题:死锁Deadlock,饥饿Starvation,活锁Livelock锁竞争带来的系统开销,线程间频繁调度带来的开销。并发级别:阻塞无饥饿(Starvation-Free),公平与非公平锁无障碍(Obstruction-free),最弱的非阻塞调度,回滚机制,一致性标记无锁,一个线程可以在有限步完成操作...原创 2019-04-29 15:20:34 · 177 阅读 · 0 评论