java 如何優(yōu)雅地停止Java進(jìn)程?
如何優(yōu)雅地停止Java進(jìn)程?在完成業(yè)務(wù)邏輯后,使用wait()方法或sleep()方法使線程進(jìn)入阻塞狀態(tài)進(jìn)程:每個(gè)進(jìn)程都有自己的代碼和數(shù)據(jù)空間(進(jìn)程上下文),進(jìn)程之間的切換會(huì)花費(fèi)很多。一個(gè)進(jìn)程包含1-
如何優(yōu)雅地停止Java進(jìn)程?
在完成業(yè)務(wù)邏輯后,使用wait()方法或sleep()方法使線程進(jìn)入阻塞狀態(tài)
進(jìn)程:每個(gè)進(jìn)程都有自己的代碼和數(shù)據(jù)空間(進(jìn)程上下文),進(jìn)程之間的切換會(huì)花費(fèi)很多。一個(gè)進(jìn)程包含1--N個(gè)線程。
線程:同一種線程共享代碼和數(shù)據(jù)空間,每個(gè)線程都有自己的運(yùn)行堆棧和程序計(jì)數(shù)器(PC),線程切換開(kāi)銷很小。
線程和進(jìn)程分為五個(gè)階段:創(chuàng)建、準(zhǔn)備、運(yùn)行、阻止和終止。多進(jìn)程意味著操作系統(tǒng)可以同時(shí)運(yùn)行多個(gè)任務(wù)(程序)。
多線程是指在同一程序中執(zhí)行多個(gè)順序流。在Java中實(shí)現(xiàn)多線程有兩種方法,一種是繼續(xù)線程類,另一種是實(shí)現(xiàn)可運(yùn)行接口。小結(jié):實(shí)現(xiàn)runnable接口比繼承thread類有以下優(yōu)點(diǎn):
1):適用于同一程序代碼的多個(gè)線程處理同一資源
2):避免了Java中單一繼承的限制
3):增加了程序的健壯性,提高了性能代碼質(zhì)量可以由多個(gè)線程共享,代碼和數(shù)據(jù)獨(dú)立