ההבדל בין שינה להמתנה ההבדל בין
Sleep vs Wait
מכונות כגון כמו מחשבים להשתמש בשפה מלאכותית כדי ליצור תוכניות, לשלוט בהם, ולאפשר להם לתקשר הוראות ולבטא אלגוריתמים. שפה זו נקראת שפת תכנות.
לפני הופעתם של מחשבים, שפות תכנות כבר היו בשימוש נולים ופסנתרים. כמו השימוש במחשב הפך נפוץ יותר, היו עכשיו כמה שפות תכנות בשימוש.
-> ->ישנן מספר שפות מחשב, כולל שפות ברמה גבוהה כגון: BASIC, C, C ++, Fortran, פסקל ו- Java. לכל מכונה וירטואלית ולמעבד יש שפת מחשב משלה, לכל אחד מהם יש חולשות וחוזקות משלו, וכל מכונה וירטואלית מפעילה חוט כאשר מתחילים. חוט זה מבצעת את קוד היישום בתוכנית. זה יכול לעשות תוכנית לרוץ מהר יותר ולעזור הביצועים שלהם ואת התועלת במיוחד כאשר פתילים מרובים משמשים.
מחשבים וירטואליים, כגון מכונה וירטואלית של Java, תומכים במושג ריבוי הליכי משנה עם חוטים בעלי עדיפות גבוהה יותר, המבוצעים תחילה על פני הליכי משנה בעדיפות נמוכה המבטיחים את החלוקה הנכונה של עיבוד זמן.הוא משתמש בשיטות ניהול פתילים אשר יכולות ליצור, לשלוט ולסיים את זרימת הפקדים או האשכולות בחלל משותף. שני אלה שיטות ניהול חוט הם לחכות ושיטות שינה.
שיטת ההמתנה מוגדרת במחלקת האובייקט ושולחת את החוט הנוכחי למצב not runnable. הוא משמש יחד עם Notify ו- notifyAll כדי לאפשר לקוד הביצוע של אובייקט להשהות באופן זמני ולחדש אותו מאוחר יותר.
זה עובד על ידי קורא על אובייקט נעילה ומאפשר חוט הנוכחי לסנכרן עם זה. חכה תשחרר את המנעול ותשים את החוט ברשימת ההמתנה ותן לסידורים אחרים לסנכרן עם זה לגרום לחוט המקורי להתעורר. המתכנת קובע את הזמן הספציפי שבו מתחיל הביצוע מחדש.
שיטת השינה, לעומת זאת, מוגדרת כשיטה סטטית. זה מעכב את ביצוע החוטים ולא אובייקטים כמו גם להשעות את החוט אשר מבוצע. זה שולח את האשכולות הנוכחי למצב לא runnable לתקופה מסוימת של זמן. זה יכול להשפיע על ההתנהגות של יישומים מרובי הליכי, כי זה שומר את מנעולי הסינכרון של החוט הנוכחי. לאחר החוט נמצא בלוק מסונכרן, שום חוט אחר לא יכול להיכנס לחסום.
סיכום:
1. "שינה" היא שיטת ניהול חוט המוגדרת כשיטה סטטית, בעוד "המתן" היא שיטת ניהול חוט המוגדרת במחלקת אובייקט.
2. שינה היא שיטה המפעילה האשכולות בזמן ההמתנה היא שיטה המבצעת אובייקטים.
3. שינה שומרת את נעילת הסינכרון של החוט הנוכחי ומשפיעה על אופן הפעולה של יישומים בזמן שההמתנה אינה.
4. שינה שולטת בביצוע החוט ואינה מאפשרת שרשורים אחרים בבלוק מסונכרן בזמן שההמתנה אינה שולטת בביצוע החוט כדי לאפשר לחוטים אחרים לפעול.