zoukankan      html  css  js  c++  java
  • CLR via C# 读书笔记 36 比较APM和EAP(异步编程模型和基于事件的编程模式)

    APM: The Asynchronous Programming Model  (异步编程模型)    BeginXXX

    EAP: The Event-Base Asynchronous Pattern (基于事件的编程模式)  Button.Click+=........
    EPM: The Event-Base Programming Model

    1.本质上EAP内部也是使用了APM,只是EAP做了一些封装, 那么EAP会多使用一些内存空间(例如EventArgs),也会多使用一些GC的操作

    2.简单情况下 EPM一般是一个更好的选择,而且也更为容易使用 ,  EPM也有一些限制 包括

      1) 必须在开始执行异步方法前先注册事件, 否则事件就有可能不被执行

      2) 那么当你想不使用某个事件的时候必须注销事件,(事件也经常会造成内存泄露,有兴趣的朋友可以去看一下弱引用的事件)

      3) 静态方法和单例类不应该使用EPM, (我个人不是很同意这种看法,书中原文为:static methods and singleton classes cannot offer the EPM)

      4) EAP不能采用catch来处理异常

  • 相关阅读:
    09.Java数据算法
    08.Java反射问题
    07.Java类加载问题
    占位
    占位
    占位
    占位
    HTML与CSS粗浅摘要
    JavaScript(4):模态对话框、隐藏二级菜单及多选框的实现
    JavaScript(3):DOM选择器
  • 原文地址:https://www.cnblogs.com/PurpleTide/p/1891908.html
Copyright © 2011-2022 走看看