91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python程序中的多任務詳解

發布時間:2020-11-03 17:46:25 來源:億速云 閱讀:150 作者:Leah 欄目:開發技術

這期內容當中小編將會給大家帶來有關python程序中的多任務詳解,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

import time


def sing():
  for i in range(5):
    print("正在唱...")
    time.sleep(1)


def dance():
  for i in range(5):
    print("正在跳...")
    time.sleep(1)


def main():
  sing()
  dance()


if __name__ == "__main__":
  main()

運行結果:

python程序中的多任務詳解

這個程序執行需要10秒鐘,但是如果唱歌和跳舞能同時執行的話,只需要5秒鐘就可以了。

沒有多任務的時候,想一起執行上面的多個函數是做不到的,我們要學習的多任務就是多個函數(唱歌和跳舞)一起執行。

接下來我們來實現簡單的多任務。

大家暫時不用關系代碼怎么寫,后續我們會具體講解。

import time
import threading


def sing():
  for i in range(5):
    print("正在唱...")
    time.sleep(1)


def dance():
  for i in range(5):
    print("正在跳...")
    time.sleep(1)


def main():
  t1 = threading.Thread(target=sing)
  t2 = threading.Thread(target=dance)
  t1.start()
  t2.start()


if __name__ == "__main__":
  main()

運行結果:

python程序中的多任務詳解

多任務的概念

什么叫“多任務”呢?簡單地說,就是操作系統可以同時運行多個任務。

打個比方,你一邊在用瀏覽器上網,一邊在聽MP3,一邊在用 Word 趕作業,這就是多任務。

至少同時有3個任務正在運行,還有很多任務悄悄地在后臺同時運行著,只是桌面上沒有顯示而已。

現在,多核 CPU 已經非常普及了,但是,即使過去的單核CPU,也可以執行多任務。

由于 CPU 執行代碼都是順序執行的,那么,單核CPU是怎么執行多任務的呢?

答案就是操作系統輪流讓各個任務交替執行,任務1執行0.01秒,切換到任務2,任務2執行0.01秒,再切換到任務3,執行0.01秒……這樣反復執行下去。

表面上看,每個任務都是交替執行的,但是,由于CPU的執行速度實在是太快了,我們感覺就像所有任務都在同時執行一樣。

真正的并行執行多任務只能在多核 CPU 上實現,但是,由于任務數量遠遠多于 CPU 的核心數量,所以,操作系統也會自動把很多任務輪流調度到每個核心上執行。

那這里就引出了2個概念。

并發

指的是任務數多于 cpu 核數,通過操作系統的各種任務調度算法,實現多個任務“一起”執行。

多個進程指令被快速輪換執行,使得在宏觀上具有多個進程同時執行的效果。

實際上總有一些任務不在執行,因為切換任務的速度相當快,看上去一起執行而已。

并行

指的是任務數小于等于 cpu 核數,在同一時刻有多條指令在多個處理器上真的同時執行。

多任務的好處

多任務可以簡單地理解為同時執行多個不同程序,它有如下好處:

  • 可以把占據長時間的程序中的任務放到后臺去處理。
  • 用戶界面可以更加吸引人,比如用戶點擊了一個按鈕去觸發某些事件的處理,界面上可以彈出一個進度條來顯示處理的進度。
  • 程序的運行速度可能加快。
  • 在一些等待的任務實現上如用戶輸入、文件讀寫和網絡收發數據等,可以釋放一些珍貴的資源如內存占用等等。

上述就是小編為大家分享的python程序中的多任務詳解了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

中方县| 迭部县| 思南县| 亚东县| 安泽县| 苏尼特左旗| 日土县| 广东省| 池州市| 读书| 新蔡县| 常熟市| 于田县| 吉水县| 华坪县| 文化| 齐齐哈尔市| 眉山市| 汾西县| 内乡县| 汉源县| 资源县| 洛川县| 赤峰市| 宜兰县| 滦平县| 平罗县| 宾川县| 江永县| 南京市| 罗城| 璧山县| 西峡县| 长兴县| 阜平县| 贵阳市| 高淳县| 紫云| 宁津县| 满洲里市| 凭祥市|