赞
踩
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
mysql行锁和分布式锁的区别
本文会优先引入进程,线程,多线程,再浅谈mysql行锁和分布式锁的区别
进程是操作系统结构的基础,是程序在一个数据集合上运行的过程,是系统进行资源分配和调度的基本单位。进程可以被看作程序的实体;同样也是线程的容器。例如,打开电脑任务管理器,里面的chrome.exe代表着谷歌浏览器的进程,里面运行了很多子任务,这些任务就是线程。在一个进程中会有多个线程,这些线程拥有各自的计数器、栈堆和局部变量等属性,并且能够访问共享的内存变量。为什么要使用多线程呢,因为多线程能够提高cpu的利用率,而且与进程相比,线程的创建和切换的开销更少,同时多线程在数据共享方面的效率非常高
锁是在多线程环境下操作同一数据,为了保证数据安全性而出现的一种机制。所以说mysql的行锁,和分
布式锁等都是为了保证数据安全的。另外,mysql行锁是在innodb存储引擎新增的一种优化策略,只要索
引命中就会锁定当前操作行,极大的提升了效率。提高了mysql的数据吞吐量。而分布式锁,是基于业务
逻辑层面的。由程序员控制的在分布式情况下的一种。不仅仅可以对mysql数据进行加锁,同时也可以对
内存变量等其他加锁。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。