איך גורמים לשרשור למות בג'אווה?
איך גורמים לשרשור למות בג'אווה?

וִידֵאוֹ: איך גורמים לשרשור למות בג'אווה?

וִידֵאוֹ: איך גורמים לשרשור למות בג'אווה?
וִידֵאוֹ: How Not to Die: An Animated Summary 2024, מאי
Anonim

את כל פְּתִיל ס לָמוּת או על ידי חזרה מהקריאה לשיטת הריצה או על ידי זריקת חריג שמתפשט מעבר לשיטת הריצה.

החוטים מתים במצבים הבאים:

  1. כשהשיטה שהיא פועלת מסתיימת (או זורקת)
  2. כאשר התהליך מסתיים.
  3. כאשר המחשב כבוי או מאופס.

בהתחשב בכך, אילו אירועים יגרמו לשרשור למות?

א חוט יכול למות בשני אופנים: או מטבעי גורם ל , או בהרג (נעצר). א חוט מת באופן טבעי כאשר שיטת run() שלו יוצאת כרגיל.

כמו כן, מהו חוט מת? א פְּתִיל נחשב מֵת לאחר ששיטת ה-run() שלו השלימה את הביצוע. פעם ה פְּתִיל משלים את שיטת run() שלו ו מֵת , לא ניתן להחזיר אותו פְּתִיל של ביצוע או אפילו למצב בר הפעלה. הפעלת שיטת start() ב-a חוט מת גורם לחריגה בזמן ריצה.

לגבי זה, איך הורגים שרשור בג'אווה?

אין דרך בחן לַהֲרוֹג א פְּתִיל . בדרך כלל אתה לא לַהֲרוֹג , לעצור או להפריע א פְּתִיל (או בדוק אם זה מופרע()), אבל תן לזה לבטל, לסיים באופן טבעי. זה פשוט. אתה יכול להשתמש בכל לולאה יחד עם משתנה בוליאני (נדיף) בתוך שיטת run() כדי לשלוט של חוט פעילות.

איך עוצרים שרשור?

דרכים מודרניות להשעות/ לעצור שרשור הם באמצעות דגל בוליאני ו פְּתִיל . שיטת interrupt() שימוש בדגל בוליאני: אנו יכולים להגדיר משתנה בוליאני המשמש עבורו סְתִימָה /הֶרֶג חוטים לומר 'יציאה'. מתי שנרצה לעצור שרשור , המשתנה 'יציאה' יוגדר כ-true.

מוּמלָץ: