短视频开发app中,明确“锁”的作用助力系统开发
- 供应商
- 东莞市数云网络科技有限公司
- 认证
- 联系电话
- 18665158422
- dapp开发
- 18665158422
- 商业模式架构导师
- 杨小花
- 所在地
- 东莞市
- 更新时间
- 2025-01-25 07:07
在短视频开发app中,为提升系统性能通常会用到各种类型的锁,像公平锁、可重入锁、互斥锁、读写锁、乐观锁、悲观锁等,其中乐观锁和悲观锁的使用比较广泛,主要是为了解决并发场景下的数据竞争问题。
一、乐观锁
在短视频开发app中,乐观锁采用的加锁机制较为宽松。通常认为系统中读操作远大于写操作,并且很难遇到并发写的情况。由于乐观锁认为被访问的数据轻易不会出现被修改的情况,因此就不会进行上锁操作。
在应对更新场景时,乐观锁通常是在写之前先读出当前版本号,以此来判断数据是否发生更改,如果当前版本号与上一次读出的版本号相同,则进行加锁操作,完成数据的更新。
在短视频开发app中乐观锁的主要实现方式有两种,分别是使用版本号机制或cas算法。这两种实现方式各具不同的优势,需要结合实际的开发情况进行分析、选择。
二、悲观锁
在短视频开发app中,悲观锁与乐观锁的实现逻辑正好相反,悲观锁通常认为系统中写操作远大于读操作,而且遇到并发写的概率高。由于悲观锁认为被访问数据每次被访问都有可能被修改,因此在读数据时就会上锁,除非成功获取到锁,不然就只能排队等候。
在短视频开发app的多线程场景中,如果悲观锁的加锁操作较为频繁不仅会导致上下文调度和切换的延迟,还会导致除上锁线程外的其他线程发生阻塞,进而影响系统性能。
三、乐观锁和悲观锁的使用场景
由于乐观锁和悲观锁各具优缺点,所以在短视频开发app中使用场景存在一定的差异。
1、乐观锁
比较适用于写少读多的场景,由于该类场景的冲突较少,所以能省去锁的开销,从而提升系统的吞吐量,保证系统性能,带给用户更好的使用体验。
2、悲观锁
比较适用于写多读少的场景,由于该类场景经常发生冲突,使用悲观锁可以避免上层应用进行大量重试,从而保证系统性能。
短视频开发app中,明确“锁”的作用助力系统开发
短视频开发app中,明确“锁”的作用助力系统开发