amp@java

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            99 隨筆 :: 0 文章 :: 228 評論 :: 0 Trackbacks
          剛剛才知道,原來Java的線程是不能重啟的,也就是說,當線程的run()方法執行到最后一行,退出之后,這個線程就結束了,不能再通過start()方法重啟啟動這個線程,只能重新構造一個線程對象,再調用其start()方法來啟動,但這個對象和原來那個對象已經不同了。
          為了實現某個線程對象的“重啟”功能,可以在它的run()方法的最外層加上一個循環語句:
          1 public void run(){
          2   while(!stop){
          3     //do something
          4   }
          5 }

          這樣,只要stop不為true,run()方法就不會結束,不斷地“重啟”。
          如果run()方法里面還有一個循環,那么就要兩個停止標志:
          1 public void run(){
          2   while(!stop){
          3     //do something
          4     while(!stop && !restart){
          5       //do other thing
          6     }
          7   }
          8 }
          9 
          這樣,如果需要“重啟”線程,只要把restart設為true即可,如果要退出線程,只要把stop設為true即可。
          posted on 2008-04-22 10:56 amp@java 閱讀(4194) 評論(0)  編輯  收藏 所屬分類: Java common
          主站蜘蛛池模板: 微山县| 麟游县| 潞城市| 广宁县| 巴楚县| 淮阳县| 贡觉县| 威宁| 桐庐县| 崇信县| 且末县| 上饶县| 梅河口市| 衡阳市| 临沂市| 福清市| 连城县| 保亭| 达州市| 漳平市| 土默特右旗| 黑河市| 务川| 灵山县| 讷河市| 库车县| 徐闻县| 手机| 汨罗市| 铁岭市| 衡东县| 满洲里市| 中超| 固始县| 荔波县| 舟曲县| 沁源县| 清水河县| 泗阳县| 广昌县| 泰安市|