#lock #system #waiting #separate #request #ticketed

ticketed_lock

带票锁系统 - 允许将锁请求与实际等待分离

3 个版本 (破坏性更新)

0.3.0 2021年1月25日
0.2.0 2017年3月4日
0.1.0 2017年3月3日

#9 in #separate

Download history 106/week @ 2024-04-01 16/week @ 2024-04-08 24/week @ 2024-04-15 23/week @ 2024-04-22 20/week @ 2024-04-29 16/week @ 2024-05-06 24/week @ 2024-05-13 48/week @ 2024-05-20 60/week @ 2024-05-27 30/week @ 2024-06-03 36/week @ 2024-06-10 19/week @ 2024-06-17 25/week @ 2024-06-24 10/week @ 2024-07-01 14/week @ 2024-07-08 22/week @ 2024-07-15

每月 73 次下载

Apache-2.0

11KB
256

带票锁。

带票锁类似于 RwLock,除了获取锁的过程被分为两个步骤:

  1. 1. 获取一个票证,这必须在锁定存储所在的线程上完成;
  2. 2. 等待票证,这会让当前线程休眠直到票证到期。这个时刻到来时,所有之前的票证都已处理完毕。
  3. 在读取/锁保护器后面的数据操作
  4. 当保护器被释放时,允许以下票证变得活跃

票证可以在线程之间移动,甚至可以丢失。连续的只读票证并不保证特定的锁顺序。所有的票证计数都是基于 Arc 基本操作完成的,而这个库中唯一的非安全代码是用于访问保护器后面的实际数据。

依赖关系

~220KB