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