一 mysql的悲观锁 - 以行锁做示例 每次拿数据的时候都认为别的线程会修改数据,所以每次拿数据的时候都会给数据上锁.上锁之后,当别的线程想要拿数据时,就会阻塞.直到给数据上锁的线程将事务提交或者回滚.传统的关系数据库里面很多用了这种锁机制,比如行锁,表锁,共享锁,排他锁等,都是在做操作之前先上锁. 下面的图从网上粘的,用mysql的两个视窗演示一下行锁(左边先执行) (1) 左边的线程,在事务中通过select for update语句给sid=1的数据行上了锁,右边的线程此时可以使用sel