樂觀鎖與悲觀鎖總結
682
2025-04-08
文章目錄
What's 多線程并發編程
What’s 多線程并發編程
首先要澄清并發和并行的概念
并發是指同一個時間段內多個任務同時都在執行,并且都沒有執行結束
并行是說在單位時間內多個任務同時在執行
并發任務強調在一個時間段內同時執行,而一個時間段由多個單位時間累積而成,所以說并發的多個任務在單位時間內不一定同時在執行。
在單CPU的時代多個任務都是并發執行的,這是因為單個CPU同時只能執行一個任務。在單CPU時代多任務是共享一個CPU的,當一個任務占用CPU運行時,其他任務就會被掛起,當占用CPU的任務時間片用完后,會把CPU讓給其他任務來使用,所以在單CPU時代多線程編程是沒有太大意義的,并且線程間頻繁的上下文切換還會帶來額外開銷。
在單個CPU上運行兩個線程,線程A和線程B是輪流使用CPU進行任務處理的,也就是在某個時間內單個CPU只執行一個線程上面的任務。當線程A的時間片用完后會進行線程上下文切換,也就是保存當前線程A的執行上下文,然后切換到線程B來占用CPU運行任務。
雙CPU配置,線程A和線程B各自在自己的CPU上執行任務,實現了真正的并行運行。
Java 任務調度
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。