基础知识记录

一、ThreadPool与Task?php

  线程池的优势:① 下降资源消耗。经过重复利用已建立的线程下降线程建立和销毁形成的消耗。html

         ② 提升响应速度。当任务到达时,任务能够不须要等到线程建立就能当即执行。redis

         ③ 提升线程的可管理性。线程是稀缺资源,若是无限制的建立,不只会消耗系统资源,还会下降系统的稳定性,使用线程池能够进行统一分配。框架

  可是线程池不支持线程的取消、完成、失败通知等交互性操做,不支持线程执行的前后顺序。为了弥补实现上述功能所做的额外工做,微软在线程池的基础上进行了优化,提出了Task。优化

二、Task的启动方式?spa

  ① var task = Task.Run(()=>{});线程

  ② var task = new Task(); task.Start();htm

  ③ CancellationTokenSource cts = new CancellationTokenSource();blog

    TaskFactory taskFactory = new TaskFactory();队列

    Task[] tasks = new Task[]{ taskFactory.StartNew(()=>Add(cts.Token)) };

     taskFactory.ContinueWhenAll(tasks, TasksEnded, CancellationToken.None);

三、什么是委托?委托的写法有哪些?

  委托:将方法看成另外一个方法的参数传递。

  委托的写法:① delegate

        ② Action<T>与Func<T>

四、有哪些IOC框架?http://www.javashuo.com/article/p-pezcymnb-ee.html

  Autofac/Unity/Castle Windsor/Spring.NET/StructureMap/Ninject/微软自带的DI

五、有哪些基于redis的扩展?https://www.php.cn/redis/422232.html

  Jedis/Lettuce/Redisson

六、队列http://www.javashuo.com/article/p-zprzvjvi-mp.html

  RabbitMq、Notify(阿里)、QMQ(去哪儿)、Apache Kafka

七、ABP、DDD

相关文章
相关标签/搜索