对【委托的执行方法】的测试与理解
来源:互联网 发布:知可之伯母邪恶漫画 编辑:程序博客网 时间:2024/06/08 07:24
今天突然就想知道委托的执行过程是阻塞的还是非阻塞的,于是试了下发现是顺序阻塞的
Class2:
public class Class2 { public delegate void TestHandler(); public event TestHandler TestEvent; public void DoWork() { Console.WriteLine("Class2 DoWork"); if (this.TestEvent != null) { this.TestEvent(); } Console.WriteLine("Class2 DoWork End"); } }
Class3:
public class Class3 { public virtual void DoWork() { System.Threading.Thread.Sleep(1000); Console.WriteLine("Class3 DoWork At {0}", DateTime.Now.ToLongTimeString()); } }
Class4:
public class Class4 : Class3 { public override void DoWork() { System.Threading.Thread.Sleep(1000); Console.WriteLine("Class4 DoWork At {0}", DateTime.Now.ToLongTimeString()); } }Class5:
public class Class5 { public void DoWork() { System.Threading.Thread.Sleep(1000); Console.WriteLine("Class5 DoWork At {0}", DateTime.Now.ToLongTimeString()); } }
Program:
class Program { static void Main(string[] args) { Class2 c2 = new Class2(); Class3 c3 = new Class3(); Class3 c4 = new Class4(); Class5 c5 = new Class5(); c2.TestEvent += () => { c3.DoWork(); c5.DoWork(); c4.DoWork(); }; c2.DoWork(); Console.ReadLine(); } }
所以说基础不扎实就容易产生这种怀疑,委托本来就是把“别处的”方法“拿过来“执行,再这样测试一下就有(fei)点(chang)搞笑了。
0 0
- 对【委托的执行方法】的测试与理解
- 我对委托与事件的理解
- 我对委托与事件的理解
- 对委托的理解
- 委托的调用方法与执行线程
- 我对委托的理解
- 对委托的一些理解
- 自己对委托的理解
- 对委托的简单理解
- 对事件委托的理解
- 对事件与委托的理解(1) 使用事件
- 对事件与委托的理解(2) 引发事件
- 对事件与委托的理解(3) 事件示例
- 对事件与委托的理解(4) 心得
- 对缓存的理解,设计,与测试
- 对测试的理解
- 对测试的理解
- 委托与事件的理解
- grep在文本中查找内容
- javaday03-语言基础
- LeetCode(217)Contains Duplicate
- jsp技术
- 五大常用算法之二:动态规划算法
- 对【委托的执行方法】的测试与理解
- CodeForces - 27E Number With The Given Amount Of Divisors (反素数入门)
- ubuntu下Qt cannot find -lGL错误的解决方法
- java中的格式输出
- ScheduledExecutorService定时周期执行指定的任务
- kafka+zookeeper环境配置(Mac 或者 linux环境)
- 【算法训练】八皇后问题回溯算法求解
- sql 根据经纬度求距离
- Android startActivityForResult(intent, requestCode)的用法。