amp@java

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            99 隨筆 :: 0 文章 :: 228 評論 :: 0 Trackbacks
          <2008年4月>
          303112345
          6789101112
          13141516171819
          20212223242526
          27282930123
          45678910

          常用鏈接

          留言簿(21)

          隨筆分類

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          剛剛才知道,原來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 閱讀(4190) 評論(0)  編輯  收藏 所屬分類: Java common
          主站蜘蛛池模板: 赫章县| 库伦旗| 贡觉县| 同仁县| 临安市| 潢川县| 娄底市| 蓝山县| 东台市| 华坪县| 天峻县| 台前县| 昆山市| 浦江县| 彰化县| 土默特右旗| 凯里市| 聂荣县| 涿州市| 图片| 承德县| 内丘县| 卢龙县| 白水县| 陇南市| 武隆县| 陆丰市| 萨迦县| 资溪县| 阜城县| 永登县| 固镇县| 阿克陶县| 青神县| 沁阳市| 甘泉县| 翁牛特旗| 唐河县| 咸丰县| 达拉特旗| 班戈县|