当前位置:嗨网首页>书籍在线阅读

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");