Ինչպե՞ս անել, որ թելը մեռնի Java-ում:
Ինչպե՞ս անել, որ թելը մեռնի Java-ում:

Video: Ինչպե՞ս անել, որ թելը մեռնի Java-ում:

Video: Ինչպե՞ս անել, որ թելը մեռնի Java-ում:
Video: Մազերի մնայուն գույն՝ առանց մեծ ծախսի. Լսիր վարսերդ ներկելու այս հրաշք ձևի մասին 2024, Նոյեմբեր
Anonim

Բոլորը Թեմա ս մեռնել կա՛մ վերադառնալով կանչից դեպի գործարկման մեթոդ, կա՛մ բացառություն գցելով, որը տարածվում է գործարկման մեթոդից դուրս:

Թելերը մահանում են հետևյալ իրավիճակներում.

  1. Երբ գործարկվող մեթոդն ավարտվում է (կամ նետվում)
  2. Երբ գործընթացը ավարտվում է.
  3. Երբ համակարգիչը անջատված է կամ վերակայվում է:

Հաշվի առնելով սա, ո՞ր իրադարձությունները կհանգեցնեն թելը մեռնելու։

Ա թելը կարող է մահանալ երկու եղանակով՝ կամ բնականից պատճառները , կամ սպանվելով (կանգնեցվելով): Ա թելը մեռնում է բնականաբար, երբ նրա run() մեթոդը դուրս է գալիս նորմալ:

Նմանապես, ի՞նչ է մեռած թելը: Ա թել համարվում է մահացած երբ իր run() մեթոդն ավարտի իրագործումը: Մի անգամ թել ավարտում է իր run() մեթոդը և մահացած , այն չի կարող հետ բերել թել կատարման կամ նույնիսկ գործարկվող վիճակի: Վկայակոչելով start() մեթոդը a մեռած թել առաջացնում է գործարկման ժամանակի բացառություն:

Ինչ վերաբերում է այս հարցին, ինչպես եք սպանում թելը Java-ում:

Նրբագեղության ճանապարհ չկա սպանել ա թել . Ընդհանրապես, դուք չեք սպանել , դադարեցնել կամ ընդհատել ա թել (կամ ստուգեք՝ արդյոք այն ընդհատված է()), բայց թույլ տվեք դադարեցնել բնականաբար. Դա պարզ է. Դուք կարող եք օգտագործել ցանկացած օղակ (ցնդող) բուլյան փոփոխականի ներսում run() մեթոդի հետ վերահսկելու համար թելերի գործունեություն։

Ինչպե՞ս եք դադարեցնում շարանը:

Կասեցման ժամանակակից եղանակներ/ դադարեցրեք մի շարանը են՝ օգտագործելով բուլյան դրոշ և Թեմա . ընդհատում() մեթոդ: Օգտագործելով բուլյան դրոշակ. Մենք կարող ենք սահմանել բուլյան փոփոխական, որն օգտագործվում է կանգ առնելով /սպանություն թելեր ասեք «ելք». Երբ ուզում ենք դադարեցրեք մի շարանը , «ելք» փոփոխականը կսահմանվի ճշմարիտ:

Խորհուրդ ենք տալիս: