c#异步委托

本文介绍了C#中如何使用异步委托进行线程操作。通过`BeginInvoke`和`EndInvoke`方法,可以获取异步方法的执行状态,并在`IsCompleted`为真时获取结果。此外,还展示了通过委托回调的方式获取异步方法的结果,回调函数`OnResult`在异步操作完成后执行,输出相关信息。
摘要由CSDN通过智能技术生成

1.进程和线程

学习cpu工作的过程 常常把它和加工产品的流水线做比较。
1.进程  :cpu处理的单个任务,就像一个车间,cpu是生产洋娃娃, 进程 是生产洋娃娃的过程。
2.线程: 进程可以分为多线程。 线程1 生产手臂,线程2 生产 头,线程3 生产身体。线程是工人,共用一个进程的空间。
4.进程:车间空间是100*50 平方米,只能容纳20个线程工人。
5.上厕所要开门,线程1上厕所 关门反锁了门,锁 防止多线程同时读一块内存区域。互斥锁(Mutex)。
6.信号量(Semaphore),厕所有n个槽位的情况。

2. 线程开启的方法

2.1同步委托
使用invoke方法会阻塞调用, main 线程会暂停,等待Getsum的返回的结果然后执行;
 public static int GetSum(int a, int b)
        {
            Console.WriteLine("开始计算");
            int sum = a + b;
            Thread.Sleep(3000);
            return sum;
        }

        static void Main(string[] args)
        {
           //同步调用
            Func<int, int, int> aFunc = GetSum;
            int result=
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值