停止執行緒
目前執行緒停止方法 stop() 已經過時,若要停止執行緒則只有將執行緒中的 run() 方法結束。
package thread;
/** * 執行緒停止方法stop()已經過時。
* 如何讓執行緒停止呢?
* 只有一種方式,那就是結束run()方法。
* 開啟多執行緒執行,執行**通常是迴圈結構,因此只要控制住迴圈就可以結束run()方法,也就結束了執行緒
* @author asus
* */
public class stopthreaddemo
system.out.println(thread.currentthread().getname()+"..."+n+"...在執行");
} } }
//簡單的執行緒可以通過控制迴圈標誌位來結束執行緒
class stopthread implements runnable
//對外提供改變標誌位的方法,並將標誌位置為false,停止執行緒
public void stoprun()
public void run()
}}
但是這樣的方式只能結束簡單的執行緒,如果執行緒中有wait() 這會使執行緒永遠等待(和死鎖現象很像,但是不會占用資源)。因此遇到這種情況就需要用到 interrupt() 來清除等待執行緒。
package thread;
/** * 執行緒停止方法stop()已經過時。
* 如何讓執行緒停止呢?
* 只有一種方式,那就是結束run()方法。
* 開啟多執行緒執行,執行**通常是迴圈結構,因此只要控制住迴圈就可以結束run()方法,也就結束了執行緒
* @author asus
* */
public class stopthreaddemo
system.out.println(thread.currentthread().getname()+"..."+n+"...在執行");
} system.out.println("over"); }
}//簡單的執行緒可以通過控制迴圈標誌位來結束執行緒
class stopthread implements runnable
//對外提供改變標誌位的方法,並將標誌位置為false,停止執行緒
public void stoprun()
public synchronized void run() catch (interruptedexception e)
system.out.println(thread.currentthread().getname()+"..."+this.n+"...在執行");
n++;
} }}
另外在啟動執行緒之前使用 setdaemon(true) 可以將執行緒設定為守護執行緒(即後台執行緒,當所有前台執行緒結束後,後台執行緒自動結束)
package thread;
/** * 守護執行緒
*/public class daemondemo
system.out.println(thread.currentthread().getname()+"..."+n+"...在執行");
} system.out.println("over"); }
}//簡單的執行緒可以通過控制迴圈標誌位來結束執行緒
class deamonthread implements runnable
public synchronized void run()
}}
黑馬程式設計師 多執行緒學習筆記
windows phone 7手機開發 net培訓 期待與您交流!每個程序至少有乙個執行緒 執行緒 程式中的乙個執行流。多執行緒 程式中包含多個執行流,即在乙個程式中可執行多個不同的執行緒執行不同的任務,也就是說單個程式建立多個並行執行的執行緒來完成各自的任務。多執行緒好處 1 讓計算機 同時 做很...
黑馬程式設計師 多執行緒學習
asp.net android io開發s net培訓 期待與您交流!13.多執行緒 sleep和wait去別 執行權 正在被cpu處理 執行資格 可以被cpu處理,在處理佇列中排隊 wait 可指定等待的時間,不指定須由notify或notifyall喚醒。執行緒會釋放執行權,且釋放鎖。sleep...
黑馬程式設計師 多執行緒學習
a.啟動執行緒 顧名思義,啟動執行緒 就是新建並啟動乙個執行緒的意思,如下 可實現 thread threadmyfirst new thread new threadstart count 其中的 count 是將要被新執行緒執行的函式。threadstart為委託 b.殺死執行緒 殺死執行緒 就...