ReenTrantLock必须手动释放锁,为防止发生异常,必须将同步代码用try包裹起来,在finally代码块中释放锁.
1 | public class Test { |
ReenTrantLock必须手动释放锁,为防止发生异常,必须将同步代码用try包裹起来,在finally代码块中释放锁.
1 | public class Test { |
视频地址:https://www.bilibili.com/video/BV1Jx411a7Dp
若synchronized修饰的代码块中出现异常,线程进行异常处理后会马上释放锁(与ReentrantLock正相反)。
视频地址:https://www.bilibili.com/video/BV1Jx411a7Dp
参考链接:https://blog.csdn.net/ncepu_Chen/article/details/95538587
sychronized+wait()+notifyAll()视频地址:https://www.bilibili.com/video/BV1Jx411a7Dp
synchronized(对象)对括号内的对象加锁,任何线程要执行synchronized代码块中的代码,都必须要先拿到该对象的锁,当执行完毕时,该线程释放锁,锁可以被其他线程获取。
Runnable
1 | @FunctionalInterface |
数据库主键包括自增和非自增,有时候新增一条数据后可能还需要这个新增的主键,可以采用selectKey来帮助我们获取新增的主键。
缺失模块。
1、请确保node版本大于6.2
2、在博客根目录(注意不是yilia根目录)执行以下命令:
npm i hexo-generator-json-content --save
3、在根目录_config.yml里添加配置:
jsonContent:
meta: false
pages: false
posts:
title: true
date: true
path: true
text: false
raw: false
content: false
slug: false
updated: false
comments: false
link: false
permalink: false
excerpt: false
categories: false
tags: true