當前位置:編程學習大全網 - 編程語言 - 北大青鳥java培訓:java多線程編程中涉及的基礎知識點?

北大青鳥java培訓:java多線程編程中涉及的基礎知識點?

線程設計在軟件開發領域中是非常常見的壹個設計構成,今天成都北大青鳥/就壹起來了解壹下,java多線程編程中都涉及到了哪些基礎知識點。

順序用於表示多個操作“依次處理”。

比如把十個操作交給壹個人來處理時,這個人要壹個壹個地按順序來處理並行用於標識多個操作“同時處理”。

比如十個操作分給兩個人處理時,這兩個人就會並行來處理。

並發相對於順序和並行來說比較抽象,用於表示“將壹個操作分割成多個部分並且允許無序處理”。

比如將十個操作分成相對獨立的兩類,這樣便能夠開始並發處理了。

如果壹個人來處理,這個人就是順序處理分開的並發操作,而如果是兩個人,這兩個人就可以並行處理同壹個操作。

總結多線程程序都是並發處理的。

如果CPU只有壹個,那麽並發處理就是順序執行的,而如果有多個CPU,那麽並發處理就可能會並行運行。

等待隊列所有實例都擁有壹個等待隊列,它是在實例的wait方法執行後停止操作的線程隊列。

就好比為每個實例準備的線程休息室在執行wait方法後,線程便會暫停操作,進入等待隊列這個休息室。

除非發生下列某壹情況,否則線程會壹直在等待隊列中休眠。

有其他線程的notify方法來喚醒線程有其他線程的notifyAll方法來喚醒線程有其他線程的interrupt方法來喚醒線程wait方法超時notify方法該方法會將等待隊列中的壹個線程去除。

同wait方法壹樣,若要執行notify方法,線程也必須持有要調用的實例的鎖。

notifyAll方法notify方法僅喚醒壹個線程,而notifyAll則喚醒所有線程,這是兩者之間的區別同wait方法和notify方法壹樣,notifyAll方法也只能由持有要調用的實例鎖的線程調用notify和notifyAll選擇notify方法和notifyAll方法非常相似,到底該使用哪個?實際上,這很難選擇,由於notify喚醒的線程較少,所以處理速度要比使用notifyAll時快。

但使用notify時,如果處理不好,程序便可能會停止。

壹般來說,使用notifyAll時的代碼要比使用notify時的更為健壯。

  • 上一篇:c語言取余數怎麽寫
  • 下一篇:VC++6.0語言
  • copyright 2024編程學習大全網