JAVA-初步認識-第十四章-多線程-停止線程方式-定義標記
阿新 • • 發佈:2017-12-24
凍結 als 大小 span clas thread 結果 gpo http
一.
線程既然開啟了,運行了,凍結又恢復運行了,那什麽時候消亡呢? 怎麽來停止線程呢?不能一直在運行。
線程怎麽停,線程自己最清楚。在Thread類中,提供了stop方法,
本來線程持有一個鎖,只要stop,它就什麽都在放,這是強制操作,無論出於什麽狀態,強制將其搞定。本來wait,這那兒的,stop一下子就沒了。
stop方法做的不是狀態切換了,而是消失。
線程停止,其實只有一種,就是run方法結束。
線程一旦沒有自己運行的代碼了,任務沒有了,線程自動就結束了。可是線程的任務怎麽能沒有呢?
標記就是條件,條件的書寫是多種多樣的,怎麽寫都可以。
以前寫的while(ture)是死循環,不用想停的事兒了,除非你加上if,break。
現在將true改成flag,就是條件標記,可以是ture-false,或是比較大小值。同時還要向外提供一個能夠改變標記的方式,
DOS結果顯示正常,而且結束了。如果沒有st.setFlag(),那麽上面兩個線程就結束不了。
當我們有了標記以後,一旦步入循環了,這個程序就能停的下來。
這種定義標記的方式,我們很常用。但是用起來,還有些解決不了的問題。
JAVA-初步認識-第十四章-多線程-停止線程方式-定義標記