zoukankan      html  css  js  c++  java
  • Await Async和Thread.waitAll想法?未完待续

    【管理员】四九-李冰-修行者(2216529884) 2017/7/3 17:15:12
    
    看着就可以了,这种东西是有使用场景的。并不是你用了就一定有提升的
    【管理员】上海-xx科技(lovepoint77@163.com) 2017/7/3 17:16:59
    就算符合场景,那这个还是以 同步方式执行阿,看不出意义在哪
    【管理员】四九-李冰-修行者(2216529884) 2017/7/3 17:16:59
    主要就是给IO用的,web项目瓶颈在IO访问
    它释放资源了
    【技术支持】胡建-kukubashen<kukubashen@gmail.com> 2017/7/3 17:17:30
    这个是以异步方式执行的。。。
    【管理员】四九-李冰-修行者(2216529884) 2017/7/3 17:17:36
    你无论用不用异步花费时间是一样多的,这能理解吧
    【管理员】上海-xx科技(lovepoint77@163.com) 2017/7/3 17:18:25
    我貌似把这边的异步 和脑子里想的 2个线程同步执行 搞混了?
    【管理员】四九-李冰-修行者(2216529884) 2017/7/3 17:18:39
    假设你的线程池里有1000个线程,同步方法就是一个请求占死一个线程,并发最高是不是就1000个请求
    【管理员】四九-李冰-修行者(2216529884) 2017/7/3 17:19:25
    异步IO就会把操作IO的线程给回收掉,等IO反馈之后重启工作线程
    在大数据量操作时,提高了服务器请求吞吐量
    【管理员】四九-李冰-修行者(2216529884) 2017/7/3 17:20:30
    操作IO的线程的意思是工作池里的那个线程,IO和CPU有各自的调度器
    异步会释放CPU的线程,从而增加吞吐量
    
    胡建-kukubashen撤回了一条消息
    【管理员】上海-xx科技(lovepoint77@163.com) 2017/7/3 17:22:11
    道理是这样没错 很容易理解
    那这一切都要归功于异步方法了,而不是 await
    ?
    【管理员】四九-李冰-修行者(2216529884) 2017/7/3 17:23:05
    await是语法糖啊
    不过不推荐使用了,3.5的语法糖吧
    现在不都用task了吗
    【精通】四川-悠燃咲夜(370250398) 2017/7/3 17:24:28
    像这样么
    【管理员】四九-李冰-修行者(2216529884) 2017/7/3 17:24:33
    可以看看mongodb的c#驱动源码,大量的异步方法
    阅读一下差不多就理解了
    【管理员】上海-xx科技(lovepoint77@163.com) 2017/7/3 17:25:11
    我只想知道 await xxAsync() 有没有意义
    。。
    【管理员】四九-李冰-修行者(2216529884) 2017/7/3 17:25:54
    加了就会等待,不加就直接执行下一句代码
    【管理员】上海-xx科技(lovepoint77@163.com) 2017/7/3 17:26:32
    是这样的
    【入门】.Net 北京 海平面(43919168) 2017/7/3 17:26:38
    async 和 await 结合 用的
    【管理员】上海-xx科技(lovepoint77@163.com) 2017/7/3 17:26:48
    不加我感觉有意义。 加了还有啥意义吗
    【入门】.Net 北京 海平面(43919168) 2017/7/3 17:27:01
    加了  就 是 异步 执行
    就 会 开一个线程 执行
    4.0 以后 才 有的
    【管理员】上海-xx科技(lovepoint77@163.com) 2017/7/3 17:28:54
    我只想知道 两个一起出现,有意义不,能节约时间不?
    【入门】.Net 北京 海平面(43919168) 2017/7/3 17:29:51
    有 啊,后台执行。执行完 返回 结果。
    不 阻塞 主进程

     精华:

    异步IO就会把操作IO的线程给回收掉,等IO反馈之后重启工作线程
    在大数据量操作时,提高了服务器请求吞吐量 
    操作IO的线程的意思是工作池里的那个线程,IO和CPU有各自的调度器
    异步会释放CPU的线程,从而增加吞吐量
     线程池内不是有很多线程,等待你来用吗?就像一个个士兵一样呆在那边。
    你说的清理掉应该不对,是接着去忙了,如果没事情忙的话,那就歇息一下。大概是这个意思。?
     

    我对这个 await xxasync的想法本来是这样:1)方法A里面 分别异步开3个线程去执行耗时的查询,然后 Thread.waitAll之后统一返回给浏览器。 听你这样讲,现在理解貌似, 相差很远,一个是 CPU角度出发,一个是业务角度出发。

    以上是关于await xxAsync()方法的使用记录。未完全搞清楚,待续。。求朋友们给一些 自己的见解。

  • 相关阅读:
    vijos1194 Domino
    vijos1603迷宫
    怎样实现App安装来源追踪
    怎样实现App安装来源追踪
    怎么在Chrome和Firefox浏览器中清除HSTS设置?
    怎么在Chrome和Firefox浏览器中清除HSTS设置?
    element UI排坑记(一):判断tabs组件是否切换
    ZooKeeper分布式锁的实现原理
    ZooKeeper分布式锁的实现原理
    TensorFlow框架 入门笔记
  • 原文地址:https://www.cnblogs.com/x-poior/p/7112496.html
Copyright © 2011-2022 走看看