在
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方法的。