摘要:        
原理: CyclicBarrier的字面意思是可循环(Cyclic)使用的屏障(Barrier)。它要做的事情是,让一组线程到达一个屏障(也可以叫同步点)时被阻塞, 直到最后一个线程到达屏障时,屏障才会开门,所有被屏障拦截的线程才会继续干活。线程进入屏障通过CyclicBarrier的await()    阅读全文
posted @ 2020-04-20 15:45
IT路上的小白
阅读(295)
评论(0)
推荐(0)
        
            
        
        
摘要:        
原理: CountDownLatch主要有两个方法,当一个或多个线程调用await方法时,这些线程会阻塞。其它线程调用countDown方法会将计数器减1(调用countDown方法的线程不会阻塞),当计数器的值变为0时,因await方法阻塞的线程会被唤醒,继续执行。 import java.uti    阅读全文
posted @ 2020-04-20 15:42
IT路上的小白
阅读(154)
评论(0)
推荐(0)
        
            
        
        
摘要:        
多线程任务,一般用于数据量较大的场景,比如开启多个异步方法先分别去执行,最终返回数据。 例子:(1)老师上着课,口渴了,去买水不合适,讲课线程继续,我可以单起个线程找班长帮忙买水,水买回来了放桌上,我需要的时候再去get。(2)4个同学,A算1+20,B算21+30,C算31*到40,D算41+50    阅读全文
posted @ 2020-04-20 15:40
IT路上的小白
阅读(347)
评论(0)
推荐(0)
        
            
        
        
摘要:        
不废话,直接上代码 //演示HashMap类的并发问题 @Test public void demo1() { Map<String, Integer> map = new HashMap<>(); Random random = new Random(); for (int i = 0; i <     阅读全文
posted @ 2020-04-20 11:05
IT路上的小白
阅读(153)
评论(0)
推荐(0)
        
            
        
        
摘要:        
Set 作为一个接口,它的实现类中主要是hashset,在多线程操作set的时候会出现问题,一下为一个列子 public static void main(String[] args) throws Exception { Set<String> set = new HashSet<>(); for    阅读全文
posted @ 2020-04-20 10:50
IT路上的小白
阅读(210)
评论(0)
推荐(0)
        
            
        
        
摘要:        
List : 在多线程操作List的时候,在一个线程里面add东西,list实际上的大小跟预计是不一样的 public void demo1() { List<String> list = new ArrayList<>(); Random random = new Random(); for (i    阅读全文
posted @ 2020-04-20 10:25
IT路上的小白
阅读(312)
评论(0)
推荐(0)
        
            
        
        
摘要:        
线程8锁,主要描绘多线程操作资源类时候的先后顺序问题 总结: package 第二季_25_锁; import java.util.concurrent.TimeUnit; /** * * @Description: 8锁 * 1 标准访问,先打印短信还是邮件 2 停4秒在短信方法内,先打印短信还是    阅读全文
posted @ 2020-04-20 10:06
IT路上的小白
阅读(424)
评论(0)
推荐(0)
        
            
        
        
摘要:        
1.首先我们回顾一下面试题: 两个线程,一个线程打印1-52,另一个打印字母A-Z打印顺序为12A34B...5152Z, 要求用线程间通信 这个面试题就就是完全考察线程之间的通信机制,常用的技术分为二种 一种是Object 类中的自带的 wait 和 notify 机制, 二是 lock中的通信机    阅读全文
posted @ 2020-04-20 09:56
IT路上的小白
阅读(907)
评论(0)
推荐(0)
        
            
        
        
摘要:        
1.继承 Thread 类,Thread的底层用的也是Runnable接口 package com.opendev.Thread; import java.util.Map; public class MyThread extends Thread { /** * 继承Thread方式 * * *     阅读全文
posted @ 2020-04-20 09:30
IT路上的小白
阅读(156)
评论(0)
推荐(0)
        
            
        
        
摘要:        
介绍: synchronized:它是Jdk自带的一种锁机制,它能够锁住当前的对象,资源类,以及同步方法块。 Lock:它是Java 1.5之后提供的一种新的机制,能够更好的去操作当前的线程 Lock的优点:锁实现提供了比使用同步方法和语句可以获得的更广泛的锁操作。它们允许更灵活的结构,可能具有非常    阅读全文
posted @ 2020-04-20 09:22
IT路上的小白
阅读(190)
评论(0)
推荐(0)
        
                    
                
浙公网安备 33010602011771号