首页 > 编程知识 正文

委托的含义,委托代理问题的概念

时间:2023-05-04 11:21:45 阅读:117115 作者:2341

请求多线程

cpu执行进程中的线程

线程并行执行(异步) )。

一个进程包含多个线程,至少包含一个线程(主线程、UI线程)

进程中的变量不共享,但线程是共享的

线程中的变量,哪个线程中的方法调用了此变量,此变量属于哪个线程。

创建子线程

首先引用命名空间

using System.Threading//字命名空间包含C#的线程操作

ThreadStart ts=new ThreadStart方法名称; //如何封装和启动一个线程

threadthread=newthread(ts; //线程类线程对象需要启动线程的方法

开始线程

thread.Start (;

开辟一个新线程,新线程执行完后要执行回调

委托就是用来储存方法的结构

委托类型储存什么样的方法?

委托保存的方法必须与委托的返回值和参数类型匹配。先定义委托类型

delegate返回类型委托类型名称(参数列表);

publicdelegatevoid http://www.Sina.com/(inta,int b ); //委托关键字delegate

CalcHandler函数指针(已保存方法的地址) )。

Calc CalcHandler的Handler类型是委托常用名称,程序员一眼就能看出这是委托

委托是为了保存方法的结构

简言之,委托是方法的变量,指向方法时,具有与该方法相同的功能

委托类型委托的别名:代理,句柄

委托是自定义类型

委托是引用类型

委托方[访问修饰符]委托类型名称委托方的名称

publicbuyhouseeventhandlebuyhouseeventhandle;

委托代理委托方=方法名称;

Xiaoming.buyhoueventhandle=intermediary.buy house;Handler

绑定和解除绑定委托对象Xiaoming.buyhoueeventhandle=Lian Jia.buy house; Xiaoming.buyhoueventhandle-=Lian Jia.buy house; 委托方的执行委托方(参数列表);

house house=Xiaoming.buyhoueeventhandle (100000,80 );注意只写方法名,没有括号

链委托有特别强的点委托链

公共语音添加(int b,int b )控制台. writeline ) ab; }公共void sub (inta,int b ) console.writeline ) a-b ); } CalcHandler calcHandler=Add; calcHandler =Sub; 呼叫处理程序(3,4 ); 他可以链接两种方法

的结果是用两种方法计算的两个值

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。