חוט הוא תהליך קל. חוטים מפחיתים את חוסר היעילות על ידי מניעת בזבוז מחזורי המעבד. Java, בהיותה שפת תכנות פופולרית וקלה, מספקת תמיכה מובנית ל- . לכל חוט יש את העדיפות שלו וזה עם עדיפות גבוהה יותר נוטה לבצע מהר יותר. בניגוד לשרשורים אחרים, שרשורי הדמון ב- Java הם שרשור בעדיפות נמוכה אשר פועל ברקע.
בלוג זה יציג בפניך את שרשור Java Daemon בסדר הבא.
מה כל יכול nagios לפקח
בוא נתחיל. :-)
מהו חוט Daemon בג'אווה?
חוט הדמון ב- Java מספק שירות לשרשור המשתמש שרץ ברקע. זה נחשב לחוט בעדיפות נמוכה המשמש לביצוע משימות כגון איסוף אשפה. ב- java, לכל שרשור יש עדיפות וזו עם עדיפות גבוהה יותר נוטה לבצע מהר יותר. גַם, מכונה וירטואלית של Java (JVM) מסיים את השרשור הזה באופן אוטומטי. זה לא יכול למנוע מ- JVM לצאת כאשר כל שרשורי המשתמש מסיימים את ביצועם, גם אם שרשור הדמון עצמו פועל.
אם נלך קדימה, בואו נראה כיצד שרשורי הדמון שונים משרשורי המשתמשים (שאינם שדים).
חוט דיימון לעומת חוטי משתמש
ההבדל העיקרי בין חוט דמון לחוט משתמש הוא בגלל JVM. כפי שנדון לעיל, Java Virtual Machine אינו ממתין לשרשור דמון שיסיים את ביצועו בזמן שהוא ממתין לסיום חוט המשתמש. בואו לחקור כמה הבדלים נוספים בין חוט הדאמון לשרשור המשתמש בעזרת הטבלה הבאה:
חוטי הדמון | אשכולות משתמש (לא שד) |
חוטי דמון נוצרים על ידי JVM | שרשורי המשתמש נוצרים על ידי יישום עצמו |
JVM לא ממתין לביצועו | JVM ממתין עד לסיום הביצוע |
אשכולות בעדיפות נמוכה | אשכולות בעדיפות גבוהה |
משמש למשימות רקע (לא קריטי) | משמש למשימות חזית (קריטי) |
החיים תלויים בחוטי משתמש | החיים הם עצמאיים |
כעת, כשברור לך ההבדל בין הדמון לעומת אשכולות המשתמשים, הבה נבחן תוכנית לדוגמא כדי לבדוק אם שרשור הוא חוט שד או שאינו שד.
class class ExampleThread מרחיב את החוט {@Override public void run () {System.out.println ('Thread User or Non-Daemon Thread')} public static public ריק (String [] args) {ExampleThread obj = new ExampleThread () obj .start () System.out.println ('הוא' + obj.getName () + 'חוט דמון:' + obj.isDaemon ()) System.out.println ('הוא' + Thread.currentThread (). getName () + 'חוט Daemon:' + Thread.currentThread (). isDaemon ())}}
תְפוּקָה: הוא Thread-0 Thread Thread: false
חוט משתמש או חוט שאינו דמון
הוא עיקרי חוט דמון: שקר
אם נלך קדימה, בואו נראה שיטות שונות בשרשור הדמון בג'אווה.
שיטות בחוט הדאמון של Java
ישנן שתי שיטות עיקריות לשרשור דמון ב- Java, כלומר:
שיטות | תיאור |
set public void setDaemon (סטטוס בוליאני) | מסמן חוט זה כחוט דמון או כחוט משתמש (חוט שאינו שד). |
isDaemon בוליאני ציבורי () | משמש לבדיקה אם חוט זה הוא חוט דמון או לא. מחזירה אמת אם החוט הוא שקר אחר של דמון. |
שקול את הקוד שלהלן ליישום מעשי:
מחלקה ציבורית Demothread מרחיב את Thread {// תוכנית Java כדי להדגים את השימוש בשיטת // setDaemon () ו- isDaemon (). הפעלת שורש ציבורי (שם מחרוזת) {סופר (שם)} הפעלה בטלנית ציבורית () {// בדיקת אם החוט הוא שד או לא אם (Thread.currentThread (). isDaemon ()) {System.out.println (getName () + 'הוא חוט Daemon')} אחר {System.out.println (getName () + 'הוא שרשור משתמש')}} חלל סטטי ציבורי ראשי (String [] args) {Demothread thread1 = new Demothread ('thread1') Demothread thread2 = חדש demothread ('thread2') Demothread thread3 = demothread חדש ('thread3') // הגדרת thread thread של המשתמש ל- Daemon thread1.setDaemon (true) // החל משני האשכולות הראשונים thread1.start () thread2.start () / / הגדרת thread thread של המשתמש ל- Daemon thread3.setDaemon (true) thread3.start ()}}
תְפוּקָה:
thread2 הוא שרשור המשתמש
thread1 הוא חוט Daemon
זה הסוף של הבלוג 'חוט הדמון בג'אווה'. אני מקווה שאתם ברורים עם התוכן עליו דנתי לעיל. האם לקרוא את הבלוג הבא שליעַל שם רשמתי את 75 התשובות הראשיות והתשובות העיקריות שיעזרו לך להתבדל בתהליך הראיון.
כעת לאחר שהבנתם אוספי ג'אווה, עיינו ב מאת אדוריקה, חברת למידה מקוונת מהימנה עם רשת של יותר מ -250,000 לומדים מרוצים הפרוסים ברחבי העולם. קורס ההכשרה וההסמכה של Java J2EE ו- SOA של אדוריקה מיועד לסטודנטים ואנשי מקצוע שרוצים להיות מפתח Java. הקורס נועד לתת לך יתרון לתכנות ג'אווה ולהכשיר אותך למושגי ג'אווה מרכזיים ומתקדמים יחד עם מסגרות Java שונות כמו Hibernate & Spring.
יש לך שאלה עבורנו? אנא הזכיר זאת בסעיף ההערות של 'חוט הדמון בג'אווה'בלוג ונחזור אליך בהקדם האפשרי.
מה זה substring בג'אווה