Java多線程1:進程和線程的區別


之前看了2天的多線程,就不看了。現在繼續拾起來吧。最近有點松散,多線程內容都是看畢向東的視頻以及網絡教程和各種書籍

什么是進程?

  • 通俗一點講,就是正在進行的程序,進程是操作系統控制的基本運行單元;

image

如上圖所示,谷歌瀏覽器正在運行着,它就是一個進行中的程序,也就是進程。

什么是線程?

  • 進程中獨立運行的子任務就是一個線程。像QQ.exe運行的時候就有很多子任務在運行,比如聊天線程、下載文件線程等。

為什么要用多線程?

image

如圖所示:

  • 單任務:

    • 任務1執行10秒,10秒之后,再可以執行任務2.
    • 任務2必須等待任務1執行完成后,才可以執行,系統運行效率大大降低
    • 單任務的特點就是排隊執行,也就是同步執行
  • 多任務:

    • cpu就可以在任務1 和任務2 之間來回切換,任務2 就不必等待10秒之后執行
    • 系統運行效率大大提高
    • 使用多線程也就是使用異步

注意

  • 多線程是異步的,所以千萬不要把Eclipse里代碼的順序當成線程執行順序,線程被調用的時機是隨機的


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM