首页 新闻 搜索 专区 学院

StackExchange.Redis中 ConnectionMultiplexer单例 + 异步 +异步后耗时操作,奇怪的现象

0
悬赏园豆:5 [已解决问题] 解决于 2020-03-26 14:21

StackExchange.Redis中 ConnectionMultiplexer单例 + 异步 +异步后耗时操作,这种情况下,多个请求竟然变成了同步。
注入代码

接口代码

同时请求接口时,两次请求竟然变成了同步。

问题补充:

这种情况是在用StackExchange.redis异步的方法时,并且异步方法后跟着Thead.Sleep时出现的。在使用StackExchange.redis同步方法时不会出现这种问题。

chesterdotchen的主页 chesterdotchen | 小虾三级 | 园豆:505
提问于:2020-03-25 10:05
< >
分享
最佳答案
0

你怎么知道变成了同步?

收获园豆:5
dudu | 高人七级 |园豆:38829 | 2020-03-25 17:46

从现象上看,第二个请求,必须等第一个请求结束,log才会打印。

chesterdotchen | 园豆:505 (小虾三级) | 2020-03-25 20:35

.net thread.sleep 会阻塞,同一浏览器的其他请求,这是为什么?

chesterdotchen | 园豆:505 (小虾三级) | 2020-03-26 10:28

看起来是谷歌浏览器的问题,同一url,发出去多个,会阻塞后面的

chesterdotchen | 园豆:505 (小虾三级) | 2020-03-26 10:48
其他回答(1)
0

http请求是无状态协议,不可能因为服务端的代码变同步。
你的log打印有问题,把 end的打印 放到 thread.sleep 后面去。

gt1987 | 园豆:650 (小虾三级) | 2020-03-26 14:15

谷歌浏览器的问题

支持(0) 反对(0) chesterdotchen | 园豆:505 (小虾三级) | 2020-03-26 14:16
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册