首页 新闻 会员 周边 捐助

关于 .netcore 同步方法调用异步方法的问题。在js跨域调用同步方法和使用Api调用同步方法时不卡,但启动线程调用同步方法则会卡。

0
悬赏园豆:20 [已关闭问题] 关闭于 2020-01-17 14:06


https://www.cnblogs.com/dudu/p/9860959.html
https://www.cnblogs.com/dudu/p/6251266.html

我也遇到了dudu的帖子里说的情况,是并发量大时,同步方法调用异步方法会触发线程阻塞。
于是我写了个demo模拟这种情况,却发现js跨域调用同步方法和使用Api调用同步方法时不卡。这个同步方法是例子中的GetData2方法,这个同步方法会再调用一个异步方法的。demo地址如下:

https://files.cnblogs.com/files/suterfo/AsyncThreadBlocking.rar

注:
1,本例子使用VS2017打开即可。
2,运行程序后点击里边的连接执行,每个操作调用300次同步方法。只有线程调用的会卡。
3,线程调用的例子要在LOG日志里查看。

我的问题是:
为什么js调用和使用api调用,并发来调用同步方法GetData2时不会卡,但使用线程调用就会卡?GetData2是异步调用GetValueAsync方法的。

努力吧兄Dei的主页 努力吧兄Dei | 初学一级 | 园豆:140
提问于:2019-11-20 21:25
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册