一. 安全性问题 线程安全的本质是正确性,而正确性的含义是程序按照预期执行 理论上线程安全的程序,应该要避免出现可见性问题(CPU缓存)、原子性问题(线程切换)和有序性问题(编译优化) 需要分析是否存在线程安全问题的场景:存在共享数据且数据会发生变化,即有多个线程会同时读写同一个数据 针对该理论的解 ...
分类:
编程语言 时间:
2019-07-05 22:47:19
阅读次数:
239
本文在个人技术博客不同步发布,详情可用力戳亦可扫描屏幕右侧二维码关注个人公众号,公众号内有个人联系方式,等你来撩... 前两天发了工资,第一反应是想着要给远方的女朋友一点惊喜!于是打开了平安银行的APP给女朋友转点钱!填写上对方招商银行卡的卡号、开户名,一键转账!搞定!在我点击的那瞬间,就收到了ap ...
分类:
其他好文 时间:
2019-07-05 20:47:58
阅读次数:
161
详述MySQL主从复制原理及配置主从的完整步骤 innodb引擎的4大特性 事物的4种隔离级别 事务是如何通过日志来实现的 MySQL数据库几个基本的索引类型:普通索引、唯一索引、主键索引、全文索引 ...
分类:
数据库 时间:
2019-07-04 14:37:21
阅读次数:
144
前言 乐观锁和悲观锁问题,是出现频率比较高的面试题。本文将由浅入深,逐步介绍它们的基本概念、实现方式(含实例)、适用场景,以及可能遇到的面试官追问,希望能够帮助你打动面试官。 目录 一、基本概念二、实现方式(含实例)三、优缺点和适用场景四、面试官追问:乐观锁加锁吗?五、面试官追问:CAS有哪些缺点? ...
分类:
其他好文 时间:
2019-07-04 14:28:12
阅读次数:
86
开启:MULTI 执行:EXEC 放弃本次提交:DISCARD watch监控: 悲观锁就是每次去拿数据时候都会上锁,如行锁,表锁等。 乐观锁(version)每次拿数据时候认为别人不会修改,所以不会上锁,但在更新时候会判断一下期间是否有人更新过,可以使用版本号机制,多用于读应用。 UNWATCH ...
分类:
其他好文 时间:
2019-07-02 21:09:35
阅读次数:
120
https://www.cnblogs.com/laoyeye/p/8228467.html 参考原文链接, //0.开始事务 begin;/begin work;/start transaction; (三者选一就可以) //1.查询出商品信息 select status from table w ...
分类:
数据库 时间:
2019-06-30 18:55:47
阅读次数:
141

 概念理解 公平锁:加锁前先查看是否有排队等待的线程,有的话优先处理排在前面的线程,先来先得。 非公平所:线程加锁时直接尝试获取锁,获取不到就自动到队尾等待。 例子 ReentrantLock 同时支持两种锁 适用场景 更多的是直接使用非公平锁:非公平锁比公平 ...
分类:
编程语言 时间:
2019-06-24 00:23:38
阅读次数:
89
前言分布式锁一般有三种实现方式:1. 数据库乐观锁;2. 基于Redis的分布式锁;3. 基于ZooKeeper的分布式锁。本篇博客将介绍第二种方式,基于Redis实现分布式锁。 可靠性首先,为了确保分布式锁可用,我们至少要确保锁的实现同时满足以下四个条件: 互斥性。在任意时刻,只有一个客户端能持有 ...
分类:
其他好文 时间:
2019-06-19 20:06:57
阅读次数:
105