1. 程式人生 > >基礎知識記錄

基礎知識記錄

1、ThreadPool與Task?

  執行緒池的優點:① 降低資源消耗。通過重複利用已建立的執行緒降低執行緒建立和銷燬造成的消耗。

         ② 提高響應速度。當任務到達時,任務可以不需要等到執行緒建立就能立即執行。

         ③ 提高執行緒的可管理性。執行緒是稀缺資源,如果無限制的建立,不僅會消耗系統資源,還會降低系統的穩定性,使用執行緒池可以進行統一分配。

  但是執行緒池不支援執行緒的取消、完成、失敗通知等互動性操作,不支援執行緒執行的先後順序。為了彌補實現上述功能所作的額外工作,微軟線上程池的基礎上進行了優化,提出了Task。

2、Task的啟動方式?

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

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

  ③ CancellationTokenSource cts = new CancellationTokenSource();

    TaskFactory taskFactory = new TaskFactory();

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

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

3、什麼是委託?委託的寫法有哪些?

  委託:將方法當作另一個方法的引數傳遞。

  委託的寫法:① delegate

        ② Action<T>與Func<T>

4、有哪些IOC框架?https://www.cnblogs.com/lhxsoft/p/8609013.html

  Autofac/Unity/Castle Windsor/Spring.NET/StructureMap/Ninject/微軟自帶的DI

5、有哪些基於redis的擴充套件?https://www.php.cn/redis/422232.html

  Jedis/Lettuce/Redisson

6、ABP