c#委托、线程、定时器学习感悟

委托
定义方式举例:public delegate void DogFunction(int a)
该类型的委托针对返回值类型为void,参数类型为单个int的方法
for exeample:void method(int a)
形象解释下委托:可以看作是在窗口买票事件,委托相当于特定窗口,方法相当于特定人群,不同的人群需要在不同的窗口买票。一种类型对应一种类型,公共规则不能乱,委托与委托的对象也是如此。
表现形式:`

       Example ex = new Example();
        DogFunction dog = new DogFunction(ex.test1);
        dog(18); // 相当于 ex.test1(18)
                 // ex.test1(18);
        dog = new DogFunction(ex.test2);
        dog(19); // ex.test2(19);`

委托的作用:个人觉得·委托的好处在于简化,在方法较多的情况下,每个方法都需要实例化,使用委托可以将同一种类型的方法都代表了,简单明了。
线程
c#线程可以使用委托的方法来实现定义方式举例:

MyCounter counter = new MyCounter();
Thread t = new Thread(new ThreadStart(counter.Run));
t.Start();

说明:t.IsBackground = true;//设TRUE的线程则主线程退出就退出,设FALSE的线程则继续执行。MyCounter 是一个类,run是里面定义的一个方法,使用委托实现线程中的一些功能
定时器
表现形式:

Timer timer = new Timer(new TimerCallback(SimpleJob)
                , null
                , 1000//第一次间隔时间
                , 1000);//前后间隔时间
public static void SimpleJob(object state)
        {
            for (int i = 1; i <= 3; i++)
            {
                Console.WriteLine( i );
                Thread.Sleep(350);
            }
            Console.WriteLine("... OK ");
        }

定时器和线程差不多,以上是我对他们的理解,暂时理解到这种程度,如果有不对的地方希望批评指正

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值