zoukankan      html  css  js  c++  java
  • .NET异步分析相关数据

    客户端Console(连接Webservice)

    同步:(客户端记录数据)

    进入方法,新增1个线程

    New webservice对象,新增1个线程

    同步调用webservice,新增2个线程

    一直不消耗工作线程和IO线程,一共增加了3个线程

    异步:(客户端记录数据)

    进入方法,新增1个线程。

    New webservice对象,新增1个线程

    异步调用webservice,新增6个线程,占用1IO线程

    然后中途会消耗新增1个线程,中途可能会回收1个线程

    异步webservice回调,再占用1IO线程

    最后回收2IO线程(最后不占用工作线程和IO线程)

    (最高会占用2IO线程,最后全部回收,一共增加了7个线程)

     

    服务端OneWay:(服务端记录数据)

    进入方法,新增1个线程,新占用1个工作线程

    退出方法,回收1个工作线程

    (最高还占用1个工作线程,无IO线程消耗,一共肯定会增加1个线程)

     

    WebService(服务内部异步方式)

    1、 WS内部调用异步SqlBeginExecuteReader

    进入WebMethod,新增1个线程(或不增)。占用2个工作线程,无IO线程消耗

    返回异步IasyncResult后,回收1个工作线程,无进程新增

    执行异步回调函数,新占用1个工作线程,无进程新增

    异步回调函数执行完毕,回收1个工作线程

    (最后还占用1个工作线程,无IO线程消耗,一共增加了1个线程(或不增加线程))

    2、 WS内部调用委托异步Remoting(服务端不等待remoting返回)

    进入WebMethod,新增1个线程(或不增)。占用2个工作线程,无IO线程消耗。

    WebMethod调用完毕后,回收1个工作线程,无进程新增。

    执行异步委托Remoting回调函数,占用1IO线程,无进程新增。

    异步回调函数执行完毕,回收1IO线程

    (最后还占用1个工作线程,一共增加了1个线程(或不增加线程))

     

    3、 WS内部调用委托异步普通方法(服务端不等待remoting返回)

    进入WebMethod,不消耗线程,占用2个工作线程,无IO线程消耗

    WebMethod调用完毕后,不回收工作线程,无进程新增

    执行异步委托回调函数,不回收不占用工作线程和IO线程,无进程新增

    异步回调函数执行完毕,回收1个工作线程。

    (最后还占用1个工作线程,一共没增加线程)

     

    Console(客户端自己测试自己)

    1、 异步委托Remoting,回调方式

    进入方法,不新增线程,不占用任何工作线程、IO线程

    开始异步委托,不新增线程,不占用任何工作线程、IO线程

    回调委托异步,不新增线程,占用1IO线程

    回调函数执行完毕,回收1IO线程

    (最后不占用任何工作线程、IO线程,一共没增加线程)

     

    2、 异步委托普通方法,回调方式

    进入方法,不新增线程,不占用任何工作线程、IO线程

    开始异步委托,新增1个线程(或不增),占用1个工作线程

    回调委托异步,不新增线程,不新占用工作线程(现在仍然有1个工作线程被占用)

    回调函数执行完毕,不新增线程,回收1个工作线程

    (最后不占用任何工作线程、IO线程,一共增加了1个或没增加线程)

    这个是自己根据测试代码分析出的结果。

    如转载,请注明来自:http://lawson.cnblogs.com/

  • 相关阅读:
    Centos7创建systemctl服务
    in a frame because it set 'X-Frame-Options' to 'sameorigin'
    systemd-journald服务占用CPU过高
    Centos7修改了最大文件打开数不生效
    Docker部署Redis主从和哨兵
    基于Vue的前端项目访问首页刷新后报404
    npm的.npmrc文件在哪里?缓存及全局包文件在什么位置?
    react native 淘宝镜像
    react native 示例代码
    iOS9 & iOS10 & iOS11 HTTP 不能正常使用的解决办法
  • 原文地址:https://www.cnblogs.com/Lawson/p/2581461.html
Copyright © 2011-2022 走看看