1.  線程池


    • 創(chuàng)建線程和銷毀線程是一個昂貴的操作,要耗費(fèi)大量的時間。由于操作系統(tǒng)必須調(diào)度可運(yùn)行的線程并執(zhí)行上線文切換,所以太多的線程還對性能不利。

      為了改善這個情況,clr包含了代碼來管理他自己的線程池。

      線程池是你的應(yīng)用程序能使用的線程集合。

      線程池內(nèi)部會維護(hù)一個 操作請求隊列。應(yīng)用程序執(zhí)行一個異步請求操作時,將一個記錄項(entry)追加到線程池的隊列中。線程池的代碼從這個對立中

      提取記錄項,將這個記錄項派發(fā)(dispatch)給一個線程池線程。

      當(dāng)線程池完成任務(wù)后,線程不會被銷毀。相反,線程會回到線程池,在哪里進(jìn)入空閑狀態(tài),等待相應(yīng)另一個請求。由于線程不銷毀自身,所以不在再產(chǎn)生額Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)外的性能損失;

    • Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

    1. 線程池基礎(chǔ)

    2. 我們來演示以線程池的方式異步的調(diào)用一個方法 

      Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

      public static void MainThreadPool()
              {
                  Console.WriteLine("主線程異步操作隊列");
                  ThreadPool.QueueUserWorkItem(ThreadProc);
      
                  Console.WriteLine("主線程做其他工作");
             &nb
              
      		

      網(wǎng)友評論