Unafanyaje uzi kufa kwenye Java?
Unafanyaje uzi kufa kwenye Java?

Video: Unafanyaje uzi kufa kwenye Java?

Video: Unafanyaje uzi kufa kwenye Java?
Video: Быстрая укладка плитки на стены в санузле. ПЕРЕДЕЛКА ХРУЩЕВКИ от А до Я #27 2024, Novemba
Anonim

Wote Uzi s kufa ama kwa kurudi kutoka kwa simu kwenda kwa njia ya kukimbia au kwa kutupa ubaguzi ambao unaeneza zaidi ya njia ya kukimbia.

Threads hufa katika hali zifuatazo:

  1. Wakati njia inaendesha kumaliza (au kutupa)
  2. Wakati mchakato umesitishwa.
  3. Wakati kompyuta imezimwa au kuweka upya.

Kwa kuzingatia hili, ni matukio gani yatasababisha thread kufa?

A thread inaweza kufa kwa njia mbili: ama kutoka kwa asili sababu , au kwa kuuawa (kusimamishwa). A thread inakufa kawaida wakati run() njia yake inatoka kawaida.

Vivyo hivyo, thread iliyokufa ni nini? A uzi inazingatiwa wafu mara tu run() njia yake imekamilika utekelezaji. Mara moja uzi inakamilisha run() njia yake na wafu , haiwezi kurejeshwa uzi ya utekelezaji au hata katika hali inayoendeshwa. Njia ya kuanza () kwenye a thread iliyokufa husababisha ubaguzi wa wakati wa kukimbia.

Kuhusiana na hili, unauaje uzi kwenye Java?

Hakuna njia ya neema kuua a uzi . Kwa ujumla huna kuua , simamisha, au mkatisha a uzi (au angalia ikiwa imeingiliwa ()), lakini iruhusu kusitisha kawaida. Ni rahisi. Unaweza kutumia kitanzi chochote pamoja na (tete) kutofautisha kwa boolean ndani ya run() mbinu kudhibiti thread ya shughuli.

Je, unasimamishaje thread?

Njia za kisasa za kusimamisha/ acha thread ni kwa kutumia bendera ya boolean na Uzi . interrupt() mbinu. Kwa kutumia bendera ya boolean: Tunaweza kufafanua tofauti ya boolean ambayo inatumika kuacha /kuua nyuzi sema 'toka'. Wakati wowote tunapotaka acha thread , utofauti wa 'toka' utawekwa kuwa kweli.

Ilipendekeza: