请教一下通信类应用链接管理方式~

我现在正在写一个基于websocket的系统
里面主要管理链接的方式是使用一个map[string]*list.List

string型是房间的ID
正常需求是两个:
1.给整个房间里面的所有链接广播同样的信息
2.当有客户端更换房间或者退出系统时,做修改

之前遇到的问题是:
每次更换房间的时候,如果不锁map的话,就会出现map修改竞争或者websocket链接写竞争的情况

如果加锁了的话,就会导致所有的写都要排队进行,这样效率很低

想跟各位大神要论一下:有没有别的管理方式,能够动态管理所有的房间以及链接,又不会因为加了锁而导致多个房间同时写排队的情况???

共 0 个回复