18-高手点拨
22.5 高手点拨
**本节视频教学录像:3分钟**网络应用程序一般都会或多或少地使用到线程,甚至可以说,一个功能稍微强大的网络应用程序总会在其中开出或多或少的线程,如果应用程序中开出的线程数目大于两个,那么就可以把这个程序称为多线程应用程序。
线程是网络通信程序的执行基本单元,一个或多个线程组成一个进程,是系统进程中可以并行执行的程序段,拥有起点、执行的顺序系列和一个终点。Visual C#中使用的线程都是通过自命名空间System.Threading中的Thread类经常实例化完成的。通过Thread类的构造函数来创建可供Visual C#使用的线程,通过Thread中的方法和属性来设定线程属性和控制线程的状态。
在一个线程中操作另一个线程的控件通过一个控件的Invoke(委托名,参数)方法,再加上委托来完成。
使用委托可以将方法引用封装在委托对象内,然后可以将该委托对象传递给所引用方法的代码,而不必在编译时知道将调用哪个方法。委托是面向对象、类型安全的。使用委托的步骤如下。
(1)定义代理。
public delegate void myDelegate(string str);
(2)申明函数,返回值和参数要与定义的代理一致。
public void AppendString(string str)
{
richTextBox1.Text += str;
}
(3)实例化一个代理,将代理和对应函数建立联系。
myDelegate md=new myDelegate(AppendString);//参数是函数名
(4)代理的使用。
richTextBox1.Invoke(md, "b");