Delegate & Thread
snlei
大学毕业! 深爱编程
展开
-
多线程操作之窗体控件
ⅠWindows 窗体控件的线程安全性和InvokeRequired属性 Windows 窗体中的控件被绑定到特定的线程,不具备线程安全性。这就是说当我们企图从一个线程中操作在另一个线程中创建的控件时,可能会产生意想不到的错误。为此多线程环境下操作窗体控件时必须转载 2011-08-19 17:24:36 · 1833 阅读 · 0 评论 -
listBox1.InvokeRequired学习
控件只能由创建它的线程来访问。其他线程想访问必须调用该控件的Invoke方法。Invoke有两个参数,一个是委托方法,一个是参数值。下面代码就是举例为ListBox添加数据。using System;using System.ComponentModel;usin转载 2011-08-19 17:25:40 · 3803 阅读 · 0 评论 -
使用ParameterizedThreadStart委托向线程函数传送参数
在不传递参数情况下,一般大家都使用ThreadStart代理来连接执行函数,ThreadStart委托接收的函数不能有参数,也不能有返回值。如果希望传递参数给执行函数,则可以使用带参数的ParameterizedThreadStart委托, public delegate void ParameterizedThreadStart(Object obj)可以将要传送给转载 2012-09-10 09:33:40 · 14946 阅读 · 0 评论 -
AutoResetEvent和ManualResetEvent区别
在.Net多线程编程中,AutoResetEvent和ManualResetEvent这两个类经常用到, 他们的用法很类似,但也有区别。Set方法将信号置为发送状态,Reset方法将信号置为不发送状态,WaitOne等待信号的发送。可以通过构造函数的参数值来决定其初始状态,若为true则非阻塞状态,为false为阻塞状态。如果某个线程调用WaitOne方法,则当信号处于发送状态时,该线转载 2013-08-23 17:32:08 · 879 阅读 · 0 评论