想用workman做一个随机匹配的小游戏 2个人一个房间pk
a玩家打开应用(H5) 点击匹配 服务器从 worker的connections属性里 遍历链接 选择connection->status=0(0代表空闲 1代表游戏中)假设选中b玩家跟a匹配 然后开始游戏
问题是 高并发下c玩家会和a玩家同时选择到b吗? 这个要怎么解决呀
业务做了判断的话不可能同时选择b的
之前操作过mysql 有锁表锁行的操作 就是防止高并发引起数据错误 这里担心高并发会让a和c同时选择到b的情况 我想知道workman里某一刻是不是只允许一条链接操作workman的属性 如果不是的话 会产生同时选择的情况呀 比如a匹配到b之后 要把b的connection->status改成1(1代表游戏中) 但在改成1的过程中 c进来判断b的connection->status还是0呀 这样就撞车了
workerman是多进程单线程的,单个进程内不会有并发操作,不会有问题。
业务做了判断的话不可能同时选择b的
之前操作过mysql 有锁表锁行的操作 就是防止高并发引起数据错误 这里担心高并发会让a和c同时选择到b的情况 我想知道workman里某一刻是不是只允许一条链接操作workman的属性 如果不是的话 会产生同时选择的情况呀 比如a匹配到b之后 要把b的connection->status改成1(1代表游戏中) 但在改成1的过程中 c进来判断b的connection->status还是0呀 这样就撞车了
workerman是多进程单线程的,单个进程内不会有并发操作,不会有问题。