mirror of
https://github.com/zhamao-robot/zhamao-framework.git
synced 2026-07-21 23:55:35 +08:00
change ALL docs from MkDocs to VuePress!!
This commit is contained in:
@@ -2,9 +2,11 @@
|
||||
|
||||
前面讲到 LightCache 轻量缓存在特定的情况下为了保证数据不被多进程的因素导致丢失或覆盖,在高并发情况下修改数据需要加锁,所以炸毛框架内置了 SpinLock 自旋锁。
|
||||
|
||||
!!! tip "提示"
|
||||
::: tip 提示
|
||||
|
||||
框架单进程运行的模式下不需要任何自旋锁。
|
||||
框架单进程运行的模式下不需要任何自旋锁。
|
||||
|
||||
:::
|
||||
|
||||
## 配置
|
||||
|
||||
@@ -61,9 +63,11 @@ public function test() {
|
||||
|
||||
原理剖析:在 LightCache 获取前,先对此内容上锁,这时如果其他进程有同时也在执行这个代码的时候,就会在 `SpinLock::lock()` 这行代码处原地等待,防止继续执行。等前面的那个进程执行到 `SpinLock::unlock()` 释放锁时,其他进程才可继续执行,从而避免了多个进程并行执行这段代码导致的数据错乱。
|
||||
|
||||
!!! error "警告"
|
||||
::: danger 警告
|
||||
|
||||
使用锁时务必谨慎,如果不按照下面的规则使用自旋锁可能导致 CPU 占用率上升。
|
||||
使用锁时务必谨慎,如果不按照下面的规则使用自旋锁可能导致 CPU 占用率上升。
|
||||
|
||||
:::
|
||||
|
||||
自旋锁使用约定:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user