![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程
lf_breeze
这个作者很懒,什么都没留下…
展开
-
Thread.join方法详解
一.场景你可能会被经常问到如何线程有序执行,如何让当前线程等待其他线程执行完成,你可能会想到join方法,那join方法具体是怎么使用呢?我们看看下面的案例分析来研究一下join方法的使用。二.案例分析案例1:public class JoinTest1 extends Thread{ public void run(){ System.out.p...原创 2020-03-17 14:08:29 · 2480 阅读 · 0 评论 -
多线程(五 ) JUC常用工具
1.Condition 使用public class ConditionWait implements Runnable{ private Lock lock; private Condition condition; public ConditionWait(Lock lock, Condition condition) { this.l...原创 2019-10-24 11:31:25 · 219 阅读 · 0 评论 -
多线程(四 ) Lock的使用及原理
一.Lock的使用我们知道synchronize关键字可以实现线程安全,这个是jvm层面帮我们实现的线程安全操作。而lock是在jdk层次实现的线程安全,那么lock怎么使用呢。ReentrantLockReentrantLock:可重入锁,支持重入。简单意思上来说,就是当线程1拿到锁的时候,线程1进入同一把锁的其他方法的时候,可以直接进入,增加重入次数。Reentran...原创 2019-10-23 15:06:54 · 873 阅读 · 0 评论 -
多线程(一) 线程的基本知识
一.线程和进程进程:操作系统资源资源分配的基本单位,占用的资源较大,进程间无共享内存,切换进程时,cpu消耗太多线程:任务调度和执行的基本单位,一个进程可以有多个线程,线程之间公用所在进程的内存,资源共享。创建线程的开销较小。二.线程的生命周期线程总共有6种状态,分别如下:1.新建状态(NEW):当创建一个线程对象的时候,线程处于该状态。2.运行状态(...原创 2019-09-23 20:23:30 · 187 阅读 · 0 评论 -
多线程(二) synchronized分析
一 .synchronied 的使用为了充分利用cpu资源,我们经常会使用多线程来合理的利用cpu空闲资源。但是在使用多线程的时候,由于多个线程存在对内存中对象的拷贝,当多个线程对一个资源进行访问的时候,会出现线程不安全的情况。为了避免这种线程不安全的情况 ,jdk提供了synchronied的方式来保证同步代码块的安全问题。synchronid的加锁有2种类型,分别为对象锁和类锁。第...原创 2019-09-28 20:58:48 · 225 阅读 · 0 评论 -
多线程(三) volatile原理分析
一.案例分析案例1:public class VolatileDemo { private static Boolean flag = false; public static void main(String[] args) throws InterruptedException { Thread threadA = new Thread((...原创 2019-10-08 17:26:33 · 256 阅读 · 0 评论