首页 > TAG信息列表 > nextc
并发编程---------可重入锁
什么是可重入锁? 指的是同一个线程可以对共享资源进行重复加锁。 具体的实现的可重入锁 Synchronized -------隐式实现 ReentrantLock 这里我就比较重点的描述ReentrantLock。虽然没有和Synchronized一样具有隐式重进入,但能保证调用lock()方法,再次调用lock()方法不会阻塞当前reentrantlock公平锁与非公平锁对比
先说结论:非公平锁加锁时先参与锁竞争,如果state为0,则获取到锁。如果不为0,分三种情况。第一种情况,state为0(距离刚刚判断已经过去一会儿了,刚刚不为零,现在可能为零),获取到锁。第二种情况,state不为0,但是持有锁的线程是自己,也就是二次加锁,此时state会加一。第三种情况,state不为0并且持JUC下工具类CountDownLatch用法以及源码理解
CountDownLoatch是JUC下一个用于控制计数的计数器,比如我需要从6开始计数,每个线成运行完之后计数减一,等计数器到0时候开始执行其他任务。 public static void main(String[] args) throws InterruptedException { CountDownLatch countDownLatch = new CountDownLatch(6);2019.8.8 2048小游戏
本次为2048的小游戏制作,运用了之前的HTML+CSS以及现在的Jascript部分知识 目的是巩固之前所学内容,掌握现在的新知识,以及对面向对象能有进一步的理解 下面为html,css和JS三大页面: HTML: <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>2048</title> <linleetcode417
DFS思路 1 class Solution { 2 private int m, n; 3 private int[][] matrix; 4 private int[][] direction = {{0, 1}, {0, -1}, {1, 0}, {-1, 0}}; 5 6 public List<int[]> pacificAtlantic(int[][] matrix) { 7 List<int[]> ret = ne