c#中委托与多线程的实质
2016-04-01 14:31
155 查看
delegate(委托)的概念,.Net的委托本质上就是指向函数的指针,只不过这种指针是经过封装后类型安全的。委托和线程是两个不同的概念,线程是动态的,委托就是一个或一组内存地址,是静态的。线程执行时如果遇到了指向函数的指针就执行这个函数。.Net为了方便编程,给委托赋予了两种方式以供调用线程来执行,即同步和异步方式,它们分别通过Invoke和BeginInvoke来开启。Invoke就是同步执行,由调用线程来执行,而BeginInvoke则开启了一个后台线程来执行delegate所指向的函数,这个后台线程和调用线程之间属于异步执行方式。实际上有了delegate这个概念,你在编程时就可以不用直接使用Thread类来开辟新的线程了,因为微软替你实现了。
相关文章推荐
- 2016-4-1--C#泛型
- 【转】C# 开发Chrome内核浏览器(WebKit.net)
- [C#]自定义消息收发
- C#小知识点
- C#中类型分析中的常见问题 Type
- C# --数组
- C# 特性详解
- C#winform如何最小化主窗口
- C# 元数据描述
- 如何在C#项目中引用dll文件
- C# 工具栏
- C#(WPF和WinForm)在普通类中调用到主线程的方法,SynchronizationContext的用法。
- C#之RabbitMQ系列(一)
- C# 对List<T>取交集、连集及差集
- C# UrlDecode将+替换为空格问题
- 利用C#自带组件强壮程序日志
- 2016-4-1--C#可空类型&&"??"运算符
- C#第一篇之性能优化
- c#软件开发原则
- C#基本功------委托和事件(三)