(黑馬程式設計師)學習筆記,多執行緒(三)

2021-06-21 13:04:40 字數 1809 閱讀 3009

停止執行緒

目前執行緒停止方法 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.殺死執行緒 殺死執行緒 就...