![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
多线程
文章平均质量分 53
主要记录并发和全家桶系列的东西,从源码的角度解析也好,重写jvm的字节码的系列数据也好,这就是自己要去项目上的应该做的事情。
specialApe
大咖王子,爱写博客爱阅读爱分享
展开
-
Java实现死锁的两种实现以及无限调用的synchronized
现在这个模式:存在什么样的问题:我们都是demo:但是却对妙的方法没有研究,没有感觉解决:死锁的不同的原理的demo:1.显示定义一个线程的方法代码逻辑:多线程死锁的本质:* 和synchronized 中的new object类似* 直接new object1 object2* <p>* thread1 :lock(1) ---> thread.sleep() ----->lock(2)* thread2 :lock(2) ---> threa原创 2021-07-22 21:10:51 · 175 阅读 · 0 评论 -
停止线程的方法-Java
目录1、异常法+interrupt证明逻辑代码证明:运行结果:2、return + interrupt证明逻辑代码证明:运行结果:3、stop(数据得不到同步处理的问题等)证明逻辑:代码证明:4、sleep中停止stop()证明逻辑代码证明:运行结果:1、异常法+interrupt证明逻辑主线程启动对应的线程之后sleep()线程类里面:循环输出然后判断this.isInterrupted()判断,进入到throw环节原创 2021-07-22 12:13:27 · 113 阅读 · 0 评论 -
future和future task怎么使用的问题:
l源码解读redis输出code 原理解释:解决的问题:性能,并发参考链接:https://www.bilibili.com/video/BV1ay4y1y76k?from=search&seid=6414486101124839385原创 2021-07-21 20:14:14 · 100 阅读 · 0 评论 -
证明volatile可见性问题--代码证明和原理解释!
目录1.原理目标:演示可见性问题2.主线程修改展示和说明3.另一个子线程修改展示说明:1.原理目标:演示可见性问题 1. 创建一个共享变量 2. 创建一条线程不断读取共享变量 3. 创建一条线程修改共享变量:两个的区别,一个修改线程是主线程,另一个修改线程是创建的子线程代码展示2.主线程修改展示和说明package com.special.thread.volatiletest;/** * @author liuYC * @ClassNam..原创 2021-07-21 16:31:02 · 169 阅读 · 0 评论 -
证明:interrupt 没有立即停止线程的code
package com.special.threademo.multithreaddemo;//import org.apache.tomcat.jni.Thread;/** * @author liuYC * @ClassName test * @Description TODO * @date 2021/7/20 23:34 */public class Test { public static void main(String[] args) throws Interru.原创 2021-07-20 23:44:55 · 132 阅读 · 0 评论 -
如何证明synchronized是可重入锁,以及和lock公平非公平锁
synchronized可重入锁的实现原理:synchronized底层的实现原理是利用计算机系统的mutex Lock实现。每一个可重入锁都会关联一个线程ID和一个锁状态status。当一个线程请求方法时,会去检查锁状态,如果锁状态是0,代表该锁没有被占用,直接进行CAS操作获取锁,将线程ID替换成自己的线程ID。如果锁状态不是0,代表有线程在访问该方法。此时,如果线程ID是自己的线程ID,如果是可重入锁,会将status自增1,然后获取到该锁,进而执行相应的方法。如果是非重入锁,就会进入阻塞队列等待原创 2021-07-20 17:33:02 · 761 阅读 · 0 评论 -
threadlocal使用和原理(1)
每日一句:代码和计算机和物理数学一样,也是需要有证明实现,不要有盲目崇拜照抄的思想:ThreadLocal是线程Thread中属性threadLocals的管理者。也就是说我们对于ThreadLocal的get, set,remove的操作结果都是针对当前线程Thread实例的threadLocals存,取,删除操作。内部类`ThreadLocalMap其中ThreadLocalMap 实现了虚引用具体知识点:Java的强弱引用的知识点和基本的code...原创 2021-07-16 17:44:03 · 55 阅读 · 0 评论 -
在springboot中导入spring-web相关包导致的错误经验(一)
本来最近负责一个poi进行相关的excel批量用户导入导数据库的demo,然后就按照最快的自动生成的springboot开始,之后因为postman测试导入excel文件类型为MultipartFile 对应的form-data所以在后端需要引入spring—web包,这个时候我就按照idea里面的自动推荐添加依赖加入了 <dependency> <groupId>org.springframework</groupId>原创 2020-12-23 10:37:33 · 1164 阅读 · 0 评论 -
Gitlab进行git clone 代码到本地的坑的解决方案:
执行如下的代码遇到的权限不够问题,解决方法:git config --system --unset credential.helper找到文件的目录:右键找到安全然后进行如下图的操作,再次执行命令即可:原创 2020-12-14 14:20:19 · 3275 阅读 · 0 评论 -
angular报错ng2-smart-table 和ng2-completer解决方法:
首先声明本人前端是第一次,也就仅停留在会运行额阶段:没想到第一次运行就报了这个错,第一次npm依赖还是没有设置全局,直接到C盘的错误:cnpm install --save ng2-smart-table仍旧报错的解决方法2cnpm install --save ng2-complete截图如下:当然最后可以提示一下在nodejs下怎么设置自定义的依赖仓库的位置:每行代码的意思自行百度哈:npm config set prefix "D:\nodejs\node_m原创 2020-12-08 17:04:34 · 459 阅读 · 0 评论 -
基于spring boot的接受前端上传的图片并且保存本地(前后端分离的项目)
package com.i2f.training.controller;import org.springframework.web.bind.annotation.PostMapping;import org.springframework.web.bind.annotation.RestController;import org.springframework.web.multipa...原创 2020-03-09 17:32:04 · 5237 阅读 · 6 评论