线程
墓陵泪
这个作者很懒,什么都没留下…
展开
-
java中的各种锁详细介绍
转自:https://blog.csdn.net/axiaoboge/article/details/84335452Java提供了种类丰富的锁,每种锁因其特性的不同,在适当的场景下能够展现出非常高的效率。本文旨在对锁相关源码(本文中的源码来自JDK 8)、使用场景进行举例,为读者介绍主流锁的知识点,以及不同的锁的适用场景。Java中往往是按照是否含有某一特性来定义锁,我们通过特性将锁进行分组归类,再使用对比的方式进行介绍,帮助大家更快捷的理解相关知识。下面给出本文内容的总体分类目录:.转载 2020-11-12 09:36:27 · 118 阅读 · 0 评论 -
synchronized同步机制
Java多线程的同步机制(synchronized)一段synchronized的代码被一个线程执行之前,他要先拿到执行这段代码的权限,在 java里边就是拿到某个同步对象的锁(一个对象只有一把锁); 如果这个时候同步对象的锁被其他线程拿走了,他(这个线程)就只能等了(线程阻塞在锁池 等待队列中)。 取到锁后,他就开始执行同步代码(被synchronized修饰的代码);线程执行完同步代码后马上就...转载 2018-03-29 15:40:05 · 185 阅读 · 0 评论 -
悲观锁与乐观锁
1. 悲观锁与乐观锁我们都知道,cpu是时分复用的,也就是把cpu的时间片,分配给不同的thread/process轮流执行,时间片与时间片之间,需要进行cpu切换,也就是会发生进程的切换。切换涉及到清空寄存器,缓存数据。然后重新加载新的thread所需数据。当一个线程被挂起时,加入到阻塞队列,在一定的时间或条件下,在通过notify(),notifyAll()唤醒回来。在某个资源不可用的时候,就...转载 2018-05-10 15:04:55 · 146 阅读 · 0 评论 -
线程 interrupt问题解析
在java中,线程的中断(interrupt)只是改变了线程的中断状态,至于这个中断状态改变后带来的结果,那是无法确定的,有时它更是让停止中的线程继续执行的唯一手段。不但不是让线程停止运行,反而是继续执行线程的手段。对于执行一般逻辑的线程,如果调用它的interrupt()方法,那么对这个线程没有任何 影响,比如线程a正在执行: while(条件) x ++; 这样的语句,如果其它线程调...转载 2018-11-30 13:41:32 · 606 阅读 · 0 评论