JAVA多线程基础篇
文章平均质量分 87
线程的生命周期、创建线程、悲观锁、乐观锁
悟空学编程
十多年软件开发和管理经验,爱好编程与机器学习。
展开
-
JAVA多线程基础篇 8、线程隔离与ThreadLocal
ThreadLocal的设计是为了能够在当前线程中有属于自己的变量,其原理是每个线程内部其实都存储了一个ThreadLocalMap来记录保存。ThreadLocal对象存在内存泄露的风险,需要手工remove。原创 2022-03-14 15:25:56 · 2933 阅读 · 0 评论 -
JAVA多线程基础篇 7、线程协作 wait()和notify()
wait和nofity是成对使用的,最好使用notifyAll(),这样可以唤起这条队列里所有的线程,同时还需要注意的是,wait和while需要配对使用。原创 2022-03-10 14:29:42 · 664 阅读 · 0 评论 -
JAVA多线程基础篇 6、详解synchronized
随着jdk升级,synchronized进行了优化,内部会对锁进行逐步升级,因此提升了适应性,效率已经大幅提升了。原创 2022-03-09 10:46:21 · 149 阅读 · 0 评论 -
JAVA多线程基础篇 5、原子性与锁
锁能保证原子性。但是并不代表上锁就一定安全,程序的设计需要考虑周到。锁分为乐观锁和悲观锁,悲观锁基于synchronized方法或者调用ReentrantLock,乐观锁基于CAS算法。原创 2022-03-08 17:35:14 · 663 阅读 · 0 评论 -
JAVA多线程基础篇 4、可见性、有序性与Volatile
Volatile能够保证数据的可见性。在主线程和线程同时运行时,当需要字段来进行通知或同步,需要用到Volatile。原创 2022-03-08 15:01:22 · 256 阅读 · 0 评论 -
JAVA多线程基础篇 3、如何优雅结束一个线程
线程在执行的过程中,如果耗时过长或者某些业务原因需要中断,此时该如何处理呢?原创 2022-03-08 12:49:32 · 417 阅读 · 1 评论 -
JAVA多线程基础篇 2、如何创建线程
孔乙己蘸着酒,在桌上了写下五种创建线程的方法。原创 2022-03-08 13:48:58 · 166 阅读 · 0 评论 -
JAVA多线程基础篇 1、线程概念与线程生命周期
多线程是低级程序员跨越到中高级程序员必过一关原创 2022-03-07 15:37:16 · 259 阅读 · 0 评论