您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“計算機編程中多任務是什么”,內容詳細,步驟清晰,細節處理妥當,希望這篇“計算機編程中多任務是什么”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
什么是多任務
從用戶觀點來看就是計算機同時做幾件事。主要有兩種情況,一種是播放視頻的同時可以寫博客,敲代碼的同時可以下載文件等,這屬于多個應用同時執行的情況;另一種情況,如果我們觀察視頻播放器,在播放視頻時可以操作停止按鈕,這屬于一個應用內部的多任務。
從程序員觀點來看,就是計算機同時執行多段代碼。這里用一個不太嚴謹的示意圖來說明程序員的觀點的單任務和多任務,假設兩件事情需要處理,分別是TASK1,TASK2。
在單任務執行時,首先執行TASK1,當TASK1結束以后,執行TASK2。如果是多任務執行的話,就是TASK1和TASK2交替執行。
所謂不嚴謹值得是在實際的系統中:
任務塊的劃分不一定均勻
執行的次序不一定嚴格交替
執行間隔不一定
為什么需要多任務
有一個錯誤的理解是提高系統的效率,應該說這是一個不準確的說法,從執行時間的來講,需要做的工作沒有減少,當然占用CPU的時間就不會減少。不僅如此,多任務執行時多了TASK間調度的操作,實際上執行時間還是會略有延長的。
那么多任務執行的意義在哪里呢?
通過上圖可以看出,雖然總的時間沒有變化,每個任務的執行間隔變短了,換句話說相應快了。如果間隔足夠短(例如數10毫秒),從宏觀上看,就好像兩個任務都在同時執行。都能對輸入進行及時地處理了。
換一種說法,如果存在需要至少一個對外部要求快速反應的任務時,多任務是一種有效的解決方案。否則沒有必要引入多任務。
實現多任務的方式
程序員自己實現
將兩個任務拆分為小的段落,通過程序控制任務的交替執行。這種方式的缺點是程序會變得很復雜,增加任務或者調整任務的內容時的維護會非常麻煩。當然也有好處,這種方式不要求系統支持多任務,適用于單任務系統甚至是裸機上執行的程序。
通過操作系統實現
每個任務作為單獨的程序來設計和實現,任務之間的調度利用操作系統的功能來實現。這種做法的好處是最大限度保持任務之間的獨立性,使增加任務或者調整任務內容變得簡單。雖然這種方式可能增加系統開銷,但是在目前軟件/硬件成本都在不斷下降的大環境下,這種方式已經成為主流。
讀到這里,這篇“計算機編程中多任務是什么”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。