程序中的執行緒排程

coderlwz發表於2024-09-10

程序是應用程式執行的基本單位。程序是計算機資源的排程過程。資源搶佔著計算機的執行記憶體。一個應用服務的啟動開啟一個程序。完整的程序包括主執行緒,使用者執行緒和守護執行緒。當一個應用程式服務開啟的時候,主執行緒處於執行狀態。使用者執行緒分為父級使用者執行緒和子執行緒。

計算機的組成是由儲存器和處理器配合操作。計算機的作業系統一開始設計成為分時操作和分任務操作的模式。大型機器使用者量較少,可以忍受時間排程和任務排程的不協調。隨著個人PC計算機的問世,基於使用者的分時間片非同步任務操作的作業系統設計方式在使用者體驗和效能方面都有保證。

排程單元就是程序中的執行緒。Java中的執行緒使用Thread類進行構建。執行緒的排程方式透過計算機的執行處理器。中央系統處理器CPU以非同步操作執行緒。執行緒構建好之後覆寫Threadrun方法介面處理任務資料。執行緒的排程由系統的排程框架形成執行緒的任務排程中心。一些任務較少的操作可以使用非同步執行緒池的方式完成。

框架層面的執行緒排程框架像JavaQuartz定時任務排程。非同步執行緒池基於相應的計算機硬體記憶體池設計。單任務資料處理中心預設分配一個執行緒完成資料處理業務。任務的排程中心透過配置相應的排程時間表示式完成分散式業務模組的排程資料處理。叢集的搭建使得非同步業務資料的處理在容錯和效能方面保證資料的正常操作。

微服務框架把一個應用程式服務拆分成為子服務模組。不同的計算機節點叢集處理不同的業務單元。微服務的劃分可以透過業務模組拆分。不同型別的使用者執行緒的劃分在網際網路中也形成不同的微服務模組。機器硬體處理資料的機器叢集,儲存器硬體會單獨拆分形成資料儲存區。一些演算法的最佳化會加快排程執行緒的處理資料的業務邏輯量。海量的資料儲存會在不同的區塊進行劃分生產。

相關文章