锁是用来控制多个线程访问共享资源的方式。 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 ...