swoole_table并发读写问题
我开启了多进程,每个进程里面创建了多个协程,
同时对swoole_table进行写入,
如上图,官方文档中写明:
使用行锁,而不是全局锁,仅当2
个进程在同一CPU
时间,并发读取同一
条数据才会进行发生抢锁。
如果出现红色字标注的情况,会出现什么情况?程序处于死锁无法继续向下执行?还是程序会自动解锁?
本人启动了4个进程,每个进程启动了10个协程,每个协程写入 swoole_table 1w 次,由于协程都是异步执行,程序最终并发写入基本接近40w/s, 多次测试,没有发现问题。
这只是描述了会产生一次锁的争抢,对于应用层是无感知的。