补全:丢了多少更新

补全:丢了多少更新

补全 lost:加锁总数减去无锁最坏值。 贯穿本节的并发模型(判题机 0.25 核有 GIL、答案不靠时序,这是它的确定模型,见 spine.py):高并发服务器搭起来后要选架构、加锁护状态、连接池/

阅读更多 →
补全:无锁最坏值

补全:无锁最坏值

补全 racy_total:无锁最坏只剩一个线程的 per 次。 贯穿本节的并发模型(判题机 0.25 核有 GIL、答案不靠时序,这是它的确定模型,见 spine.py):高并发服务器搭起来后要选架

阅读更多 →
补全:加锁后的总数

补全:加锁后的总数

补全 safe_total:加锁一次不丢,共 threads*per。 贯穿本节的并发模型(判题机 0.25 核有 GIL、答案不靠时序,这是它的确定模型,见 spine.py):高并发服务器搭起来后

阅读更多 →
无锁最坏丢了几次

无锁最坏丢了几次

按模型,4 个线程各加 1 次,lost(4, 1) 交回几? 贯穿本节的并发模型(判题机 0.25 核有 GIL、答案不靠时序,这是它的确定模型,见 spine.py):高并发服务器搭起来后要选架构

阅读更多 →
加锁后总共加了几次

加锁后总共加了几次

按模型,4 个线程各加 1 次,safe_total(4, 1) 交回几? 贯穿本节的并发模型(判题机 0.25 核有 GIL、答案不靠时序,这是它的确定模型,见 spine.py):高并发服务器搭起

阅读更多 →
加锁的代价是什么

加锁的代价是什么

加锁护共享状态,代价是【0】。 贯穿本节的并发模型(判题机 0.25 核有 GIL、答案不靠时序,这是它的确定模型,见 spine.py):高并发服务器搭起来后要选架构、加锁护状态、连接池/队列、压测

阅读更多 →
锁到底保证了什么

锁到底保证了什么

两个计数格:左没锁、右有锁 没锁的互相覆盖只涨一点,有锁的一支支加满 给自增加上锁,保证的是【0】。 贯穿本节的并发模型(判题机 0.25 核有 GIL、答案不靠时序,这是它的确定模型,见 spine

阅读更多 →
共享计数为什么要加锁

共享计数为什么要加锁

两个计数格:左没锁、右有锁 没锁的互相覆盖只涨一点,有锁的一支支加满 多个线程同时给一个共享计数自增,不加锁会【0】。 贯穿本节的并发模型(判题机 0.25 核有 GIL、答案不靠时序,这是它的确定模

阅读更多 →
补全:还空几个 worker

补全:还空几个 worker

补全 idle_workers:worker 数减去正忙的。 贯穿本节的并发模型(判题机 0.25 核有 GIL、答案不靠时序,这是它的确定模型,见 spine.py):高并发服务器搭起来后要选架构、

阅读更多 →
补全:都处理完没

补全:都处理完没

补全 all_served:完成数够不够请求数。 贯穿本节的并发模型(判题机 0.25 核有 GIL、答案不靠时序,这是它的确定模型,见 spine.py):高并发服务器搭起来后要选架构、加锁护状态、

阅读更多 →