- 博客(5)
- 收藏
- 关注
原创 2、悲观锁
悲观锁是一种悲观思想,即认为写多读少,遇到并发写的可能性高,每次去拿数据的 时候都认为其他线程会修改,所以每次读写数据都会认为其他线程会修改,所以每次 读写数据时都会上锁。其他线程想要读写这个数据时,会被这个线程block,直到这 个线程释放锁然后其他线程获取到锁。 Java中的悲观锁:synchronized修饰的方法和方法块、ReentrantLock。 如上图所示,只能有一个线程进行读操作或者写操作,其他线程的读写操作均不能进 行。
2022-12-27 16:42:16 60 1
原创 1、乐观锁
乐观锁是一种乐观思想,假定当前环境是读多写少,遇到并发写的概率比较低,读数 据时认为别的线程不会正在进行修改(所以没有上锁)。写数据时,判断当前 与期望 值是否相同,如果相同则进行更新(更新期间加锁,保证是原子性的)。 Java中的乐观锁:CAS,比较并替换,比较当前值(主内存中的值),与预期值(当前 线程中的值,主内存中值的一份拷贝)是否一样,一样则更新,否则继续进行CAS操 作。 如上图所示,可以同时进行读操作,读的时候其他线程不能进行写操作
2022-12-27 16:33:06 54
原创 CMD运行程序
以下几种途径,可以运行程序,浏览最终的效果: 通过 Docker 容器方式运行: 然后在浏览器访问:http://localhost:8080 ,系统预置了一个用户( user:icyfenix,p w:123456 ),也可以注册新用户来测试。 默认会使用 HSQLDB 的内存模式作为数据 $ docker run -d -p 8080:8080 --name bookstore icyfenix/bookstore:monolithic sh https://icyfenix.cn 单体架构:Sprin
2022-10-18 11:39:07 125
原创 vue设置时间格式
page_num: 1, page_size: 10, meetingData: [], flag: true, endData: true, show: false, hostObj: {}, defaultDate: new Date().getFullYear(), scope: { date: { isGrey: true,// 是否当前月的日期
2022-10-17 15:59:07 175 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人