基礎知識記錄

一、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

相關文章
相關標籤/搜索