并發、并行、異步、同步、單進程、多進程、多線程...
單進程:一個時間段只能執行一個進程,例如,要聽歌就寫不了文檔
多進程:一個時間段能同時執行多個進程,例如,終于能同時聽歌寫文檔了
多線程:讓一個進程能同時執行一段代碼的技術,用起來感覺類似于多進程,但區別在于線程與線程間共享資源,所以比多進程節省了系統資源,例如,一個瀏覽器可以同時打開兩個網頁。
并發:一個“時間段”有多個程序同時執行,多線程并發和多進程并發應該都算并發,你可以說多進程和多線程是一種技術,并發是一種狀態。
并行:可以說是微觀上的并發或者真正的并發,就是某一個“時刻”有多個程序同時執行,也是一種狀態。
同步:一個函數調用在沒結束前原來的函數啥都不能做,是一種目的。
異步:一個函數調用后,原來的函數繼續干自己的事情,等那個函數干完后,借助某種手段通知原來的函數執行結果。也是一種目的,一般是通過多線程技術去實現,例:js在遇到ajax時異步調用這個方法,瀏覽器新建一個線程去處理ajax的事情,js繼續干自己的事情,等ajax拿到數據后瀏覽器將它丟到一個等待隊列里面,js干完自己那些不宜中斷的事情后就去查詢那個隊列里面有結果了沒,有就拿出來。
任務調度 多線程
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。