進程和線程、繼承Thread類實現多線程、實現Runnable接口實現、聯繫和區別

1.進程和線程

進程:正在運行的程序
線程;進程中的單個順序控制流,
image.png
image.png
電腦CPU的核數:表明同一個瞬時時間處理任務數。
主頻:切換處理任務的頻率
例子:一臺電腦 10核CPU,主頻100MHz和一臺電腦 1核CPU,主頻3GHz,選哪一個;
選第二個,切換得快更不容易卡頓。
進程至關於一條河,線程就至關於河流的分支多線程

image.png
image.png

2.繼承Thread類實現多線程

  • 繼承Thread類 重寫run()
    image.png
  • 建立子類對象,調用start(),就開啓多線程 run() 和主程序各自執行各的
    image.png
  • 結果就是 兩邊同時執行,輸出相互穿插,稱爲異步
    image.png
  • 建立兩個子類對象,都調用start(),那麼執行的時候就開了兩個支流,而且主程序還在運行。
    image.png

3.實現Runnable接口實現

  • Thread構造方法有異步

    Thread()
    Thread(Runnable target)
    Thread(Runnable target, String name) 這裏的name,是線程的名字
  • 能夠建立一個實現類來實現Runnable接口
    image.png
  • 或者直接在構造方法裏重寫Runnable接口的run方法
    image.png
  • Thread(Runnable target, String name)
    這裏的name,是線程的名字
    能夠經過Thread.currentThread.getname()獲取
    加上線程名能夠更好區分
    image.png

4.繼承方式和實現方式的聯繫和區別

image.png
image.png

相關文章
相關標籤/搜索