摘要: 创建线程的四种方式: 继承Thread类,并复写run方法,创建该类对象,调用start方法开启线程。此方式没有返回值。 // 创建线程对象 Thread t = new Thread() { public void run() { // 要执行的任务 } }; // 启动线程 t.start() 阅读全文
posted @ 2020-12-21 16:29 天宇轩-王 阅读(270) 评论(0) 推荐(0)
摘要: 原子性:undo log 事务是数据库的逻辑工作单位,而且是必须是原子工作单位,对于其数据修改,要么全部执行,要么全部失败回滚。 undo log记录了回滚操作的日志,如果要撤销,按照undo log的回滚日志执行一遍就可以了(保证了原子性) 持久性:redo log 指一个事务一旦提交,它对数据库 阅读全文
posted @ 2020-12-21 00:39 天宇轩-王 阅读(159) 评论(0) 推荐(1)
摘要: 在RR级别下,快照读是通过MVVC(多版本控制)和undo log来实现的,当前读是通过加record lock(记录锁)和gap lock(间隙锁)来实现的。在mysql中通过MVCC快照读和next-key(当前读)两种模式解决幻读问题。 关于MVVC MySQL InnoDB存储引擎,实现的是 阅读全文
posted @ 2020-12-21 00:31 天宇轩-王 阅读(361) 评论(0) 推荐(0)
摘要: InnoDB 行锁 行锁介绍 行锁特点 :偏向InnoDB 存储引擎,开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。 InnoDB 与 MyISAM 的最大不同有两点:一是支持事务;二是 采用了行级锁。 InnoDB 的行锁模式 InnoDB 实现了以下两种类型的行锁 阅读全文
posted @ 2020-12-21 00:08 天宇轩-王 阅读(186) 评论(0) 推荐(0)