zoukankan      html  css  js  c++  java
  • c# begin & end.

    begin & end

    1.
    begin的时候,应该是只注册了事件。和io没有交集,马上就进入了下一条语句。
    而回调的事件,如果没有触发,并不会立刻有线程去执行这个回调方法。

    2.
    当接受到连接,或数据,从一般来说,应该是操作系统,马上唤醒挂起的线程。
    而begin & end , 测试发现,并没有挂起任何线程,那么估计是 .net 框架已经帮我们启动了新线程 挂断在 等待io上,所以vs并不知掉。
    一旦有数据到来,操作系统唤醒 .net 框架的线程,而这个线程马上会执行我们在begin中注册的事件。

    3.
    end
    网上都说有线程挂起在end上。打断点发现。根本不会有线程挂断在end上。这个。。。。。。。。。

    所以,begin只注册事件。当有对应事件触发后,会有另外一个线程来调用 回调函数,当执行到end 的时候,可能会有一些不可告人的事情处理。
    而不是begin之后,马上有线程执行回调,并挂断在end上。

    4,

    观察了下vs   的线程运行时间,猜测是.net的线程挂起在等待io上,而不是我们的end上。有事件,就调用注册的事件。

  • 相关阅读:
    android raw与assets区别
    android 反编译
    sql 随笔
    控件EditText
    android 监听Home键
    android tab之间滑动切换界面功能
    android listview 总结
    SAP云平台上两个ABAP系统实例之间的互连
    什么是SAP OData Model Creator
    Netweaver和Windows,Ubuntu的数据共享
  • 原文地址:https://www.cnblogs.com/lsfv/p/8243726.html
Copyright © 2011-2022 走看看