锁是用来控制多个线程访问共享资源的方式。 Java 程序可以使用 syschronized 关键字实现锁功能,而 Java 5 之后,在并发包中新增了 Lock 接口(以及相关实现类)用来实现锁功能。 Lock 提供了与 syschronized 关键字类似的同步功能,只是在使用时需要 显式地获取和 ...
分类:
其他好文 时间:
2020-03-26 12:30:05
阅读次数:
108
🔒Lock是显式锁(手动开启和关闭锁,别忘记关闭锁)synchronized是隐式锁,处理作用域自动释放 🔒Lock只有代码块锁,synchronized有代码块锁和方法锁 🔒使用Lock锁,JVM将花费较少的时间来调度线程,性能更好。并且具有更好的扩展性(提供更多的子类) 🔒优先使用顺序: ...
分类:
其他好文 时间:
2020-03-13 20:34:57
阅读次数:
54
创建闭锁,确保能连接到zk服务器。// 创建闭锁final CountDownLatch countDownLatch = new CountDownLatch(1);String connectString="139.196.31.237:2181";int sessionTimeout=5000 ...
分类:
编程语言 时间:
2019-12-29 18:43:58
阅读次数:
72
一. CyclicBarrier简介1:CyclicBarrier(可重用屏障/栅栏) 类似于 CountDownLatch(倒计数闭锁),它能阻塞一组线程直到某个事件的发生。2:与闭锁的关键区别在于,所有的线程必须同时到达屏障位置,才能继续执行。3:闭锁用于等待事件,而屏障用于等待其他线程。4:C ...
分类:
其他好文 时间:
2019-12-28 11:33:44
阅读次数:
69
一、CountDowmLatch(闭锁)(倒计数锁存器) CountDownLatch类位于java.util.concurrent包下,在完成某些运算时,只有其他所有线程的运算全部完成,当前运算才继续执行。 利用它可以实现类似计数器的功能。比如有一个任务A,它要等待其他4个任务执行完毕之后才能执行 ...
分类:
其他好文 时间:
2019-11-21 13:56:57
阅读次数:
70
线程的并发工具类 一、CountDownLatch 【1】CountDownLatch是什么? CountDownLatch,英文翻译为倒计时锁存器,是一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。 闭锁可以延迟线程的进度直到其到达终止状态,闭锁可以用来确保某 ...
分类:
编程语言 时间:
2019-10-16 17:44:12
阅读次数:
92
CountDownLatch是一个计数器闭锁,通过它可以完成类似于阻塞当前线程的功能,即:一个线程或多个线程一直等待,直到其他线程执行的操作完成。CountDownLatch用一个给定的计数器来初始化,该计数器的操作是原子操作,即同时只能有一个线程去操作该计数器。 ...
分类:
编程语言 时间:
2019-10-08 12:28:55
阅读次数:
107
CountDownLatch是一种灵活的闭锁实现。它可以使一个或多个线程等待一组事件的发生。 闭锁状态包括一个计数器,该计数器被初始化为一个正数,表示需要等待的事件的数量。countDown()方法递减计数器,表示有一个事件已经发生,而await方法等待计数器达到零,表示所有需要等待的事件都已经发生 ...
分类:
其他好文 时间:
2019-09-28 14:47:49
阅读次数:
94
递归锁 互斥锁 递归锁 死锁 死锁就是在使用互斥锁的时候,同时开启了两把锁,就会导致死锁问题 因为同一时间只能由一个线程打开锁,然后关闭锁之后才可以去有另外一个线程去执行锁 就是一个线程还没有释放一个锁,但是另一个线程已经拿到了其他锁的钥匙,导致第一个执行的线程没办法拿到下一个锁的钥匙,也没办法执行 ...
分类:
其他好文 时间:
2019-09-18 17:40:01
阅读次数:
96
环境都通过前面几篇随笔摸索中搭建好了,以下就是简单的将docker创建centos7容器并配置好win10系统的过程记录一下。 1.创建win10容器 2.进入容器内部 3.进入目录/data/zkdocker/vm/shm启动脚本安装vncserver 4.vnc登陆系统,关闭锁屏 5.在容器ce ...