發一下牢騷和主題無關:
總結一下多線程中之重要點——等待喚醒制機
先用一個艱深的例子來明說等待喚醒制機的理原,小時候,我們都起一玩過一個游戲,名字想不起來了,就是一伙小朋 友,抽出其中最走運的一個,其他的就到處跑,逃離最走運的,規矩:當最走運的小盆友要住抓其他小盆友中的一個時,如果反響的快時,說一聲“木(定,就是不能動)”,走運的小盆友就不能抓他,而去抓其他的,只有等到其他的小盆友來碰他(木的那個)一下,才可以被拯救,又當部全木完時,最走運的小盆友就變運幸了,同時部全拯救。
析分:最走運的小盆友就如CPU,做着切換動作, 其中木的那個小盆友就如一個線程,“木”就如wait(),碰他一下就如notify(),部全拯救就如notifyAll(),
線程之間的關系是同等的,彼此之間不並存在任何依附,它們各自競爭CPU資源,各執己見,並且還無條件地阻撓其他線程對共享資源的步異問訪。然而,也有很多現實問題求要不僅要步同的問訪統一共享資源,而且線程間還彼此制牽,通過互相通信來向前進推。
注意點:1在循環式選擇上,最好用使while循環,他是須要先判斷的,
2當有很多線程時,喚醒用notifyAll();
單簡的等待喚醒制機碼代:
文章結束給大家分享下程序員的一些笑話語錄: 愛情觀
愛情就是死循環,一旦執行就陷進去了。
愛上一個人,就是內存泄露--你永遠釋放不了。
真正愛上一個人的時候,那就是常量限定,永遠不會改變。
女朋友就是私有變量,只有我這個類才能調用。
情人就是指針用的時候一定要注意,要不然就帶來巨大的災難。