分布式锁原理的学习与思考有哪些心得体会?
- 内容介绍
- 文章标签
- 相关推荐
本文共计3834个文字,预计阅读时间需要16分钟。
分布式锁与平常讲述的锁原理基本一致,目的都是确保,在多线程或多进程并发时,只有一个线程或进程能同时操作某个资源或执行某段代码。简单来说,就是在多任务并发执行时,保证某一时刻只有一个任务在进行特定操作。
在一个进程内,也可以理解为是一个jvm或应用层面的机制,用来保证同一时刻只有一个线程或代码块可以访问共享资源或执行特定操作。
首先分布式锁和我们平常讲到的锁原理基本一样,目的就是确保,在多个线程并发时,只有一个线程在同一刻操作这个业务或者说方法、变量。
在一个进程中,也就是一个jvm 或者说应用中,我们很容易去处理控制,在jdk java.util 并发包中已经为我们提供了这些方法去加锁, 比如synchronized 关键字 或者Lock 锁,都可以处理。
但是我们现在的应用程序如果只部署一台服务器,那并发量是很差的,如果同时有上万的请求那么很有可能造成服务器压力过大,而瘫痪。
想想双十一 和 三十晚上十点分支付宝红包等业务场景,自然需要用到多台服务器去同时处理这些业务,那么这些服务可能会有上百台同时处理,
但是请我们大家想一想,如果有100台服务器 要处理分红包的业务,现在假设有1亿的红包,1千万个人分,金额随机,那么这个业务场景下是不是必须确保这1千万个人最后分的红包金额总和等于1亿。
本文共计3834个文字,预计阅读时间需要16分钟。
分布式锁与平常讲述的锁原理基本一致,目的都是确保,在多线程或多进程并发时,只有一个线程或进程能同时操作某个资源或执行某段代码。简单来说,就是在多任务并发执行时,保证某一时刻只有一个任务在进行特定操作。
在一个进程内,也可以理解为是一个jvm或应用层面的机制,用来保证同一时刻只有一个线程或代码块可以访问共享资源或执行特定操作。
首先分布式锁和我们平常讲到的锁原理基本一样,目的就是确保,在多个线程并发时,只有一个线程在同一刻操作这个业务或者说方法、变量。
在一个进程中,也就是一个jvm 或者说应用中,我们很容易去处理控制,在jdk java.util 并发包中已经为我们提供了这些方法去加锁, 比如synchronized 关键字 或者Lock 锁,都可以处理。
但是我们现在的应用程序如果只部署一台服务器,那并发量是很差的,如果同时有上万的请求那么很有可能造成服务器压力过大,而瘫痪。
想想双十一 和 三十晚上十点分支付宝红包等业务场景,自然需要用到多台服务器去同时处理这些业务,那么这些服务可能会有上百台同时处理,
但是请我们大家想一想,如果有100台服务器 要处理分红包的业务,现在假设有1亿的红包,1千万个人分,金额随机,那么这个业务场景下是不是必须确保这1千万个人最后分的红包金额总和等于1亿。

