初识异步并发处理纯代码及Demo

Posted mybk

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了初识异步并发处理纯代码及Demo相关的知识,希望对你有一定的参考价值。

多线程Thread 处理

Thread thread = new Thread(()=>
            {
                for (int i = 0; i < 20; i++)
                {
                    Console.WriteLine("这是第" + i + "");
                    Thread.Sleep(500);
                }
            });
            thread.IsBackground = true;//设置为后台线程
            thread.Start();//启动程序

 

使用委托

//【1】定义一个委托
        public delegate int MyCalculator(int num);
//定义方法
private int ExecuteTask1(int num)
        {
            System.Threading.Thread.Sleep(5000);
            return num * num;
        }
//执行方法
MyCalculator myCalculator = ExecuteTask1;//创建委托变量并指向方法1

            //异步调用任务
            IAsyncResult result = myCalculator.BeginInvoke(20,null,null);
            this.lbl1.Text = "正在计算请稍等...";
            
            //同时执行其他任务
            this.lbl2.Text = ExecuteTask2(20).ToString();

            //获取异步执行的结果
            int res = myCalculator.EndInvoke(result);
            lbl1.Text = res.ToString();
            myCalculator(20);

Async 异步

public async Task<IActionResult> Edit(string id)
        {
            if (id == null)
            {
                return NotFound();
            }

            var order = await _context.Order.SingleOrDefaultAsync(m => m.OrderId == id);
            if (order == null)
            {
                return NotFound();
            }
            return View(order);
        }
public async Task<IActionResult> DeleteConfirmed(string id)
{
var order = await _context.Order.SingleOrDefaultAsync(m => m.OrderId == id);
_context.Order.Remove(order); 
await _context.SaveChangesAsync();
return RedirectToAction(nameof(Index));
}

 

以上是关于初识异步并发处理纯代码及Demo的主要内容,如果未能解决你的问题,请参考以下文章

RabbitMQ部署指南及入门demo

iOS开发_初识视频直播

Python并发编程之初识异步IO框架:asyncio 上篇

小程序异步处理demo计时器setInterval()

11.python并发入门(part1 初识进程与线程,并发,并行,同步,异步)

初识 GitHub · 简介篇