日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java基础之线程参考尚硅谷视频

發布時間:2023/12/31 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java基础之线程参考尚硅谷视频 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

程序
為完成特定的任務,用某種語言編寫的一組指令的集合即一段靜態的代碼,靜態對象
進程
程序的一次執行過程,或是在運行的一個程序是一個動態的過程:有它自身的產生、存在和消亡的過程——生命周期
程序是靜態的,進程‘是動態的
進程作為資源分配的單位,系統在運行時會為每個進程分配不同的內存區域
線程
進程可進一步細化為線程,是一個程序內部的一條執行路線
若一個進程同一時間并行執行多個線程,就是支持多線程
線程作為調度和執行的單位,每個線程擁有獨立運行的棧和程序計數器線程切換的、開銷小
一個進程中的多個線程共享相同的內存空間/內存地址空間->他們從同一堆中分配對象,可以訪問相同的變量和對象。這就是進程間通信更簡單、高效。但多個線程操作共享的系統資源可能就會帶來安全的隱患
單核CPU和多核CPU
單核CPU其實是一種假的多線程因為在一個時間‘單元內,也只能執行一個線程的任務,多核CPU才能更好的發揮多線程的效率
并行和并發
并行:多個CPU同時執行多個任務
并發:一個CPU(采用時間片)同時執行多個任務
多線程的創建
方式一(繼承與Thread類)
1.創建一個繼承與Thread類的子類
2.重新Thread類的子類run() -->將此線程的‘執行操作聲明在run中
3.創建Thread類的子類對象
4.通過此對象調用start();(1.啟動當前線程,2調用當前線程的run)

package com.blb.com; class MyThread extends Thread{public void run(){for(int i=0;i<100;i++){System.out.println(1111);}} } public class One {public static void main(String[] args) {myt myt=new myt();myt.start();、、不能通過run方法調用線程for(int i=0;i<10;i++){System.out.println("-------");}} }

常用方法
start():啟動當前線程,調用當前進程的run()
run():通常需要重寫Thread類中的方法,將創建的線程要執行的操作聲明在、此方法中
currentThread():靜態方法,返回執行當前代碼的線程
getName():獲取當前線程的名字
setName();設置當前線程的名字
yield():釋放當前CPU的執行權
join():在線程b中調用線程a的Join(),此時線程b進入阻塞狀態,直到線程a執行完畢,線程b才結束阻塞狀態
sleep(long long t):讓當前線程睡眠t毫秒,在指定的t毫秒內當前線程處于阻塞狀態
isAilve():判斷當前線程是否存活

線程的調度
調度策略

  • 時間片
  • 搶占式:優先級高的CPU搶占優先級
    java調度方法
    同優先級線程組成先進先出隊列(先到先服務),使用時間片
    對于搞優先級,使用優先調度的搶占式策略
    線程優先級
  • MAX_PRIORITY:10
    MIN_PRIORITY: 1
    NORM_PRIORITY:5 ---->默認優先級
    如何獲取和設置當前進程的優先級
    getPriority() :獲取當前線程的優先級
    setPriority(int p):設置當前線程的優先級
    說明:高優先級的線程要搶占低優先級線程CPU的執行權。但只是從概率上講,高優先級的線程高概率的情況下被執行。并不意味著只有高優先級的線程執行完以后,低優先級的線程才執行
    創建多線程方式二
    創建一個實現Runnable接口的類
    實現類去實現Runnbale中的抽象方法:run()
    創建實現類的對象
    將此對象作為參數傳遞到Thread類中的構造器,創建Thread類的對象
    通過Thread類調用run()方法()(調用當前線程,調用當前線程的run())
    兩種方式的比較
    開發中優先選擇實現Runnable接口的方式
    原因:1實現的方式沒有類的單繼承性的局限性
    2.實現的方式更合適來出來多個線程有共享數據的情況

    總結

    以上是生活随笔為你收集整理的java基础之线程参考尚硅谷视频的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。