תוכן עניינים:

איך חוט מתקשר אחד עם השני?
איך חוט מתקשר אחד עם השני?

וִידֵאוֹ: איך חוט מתקשר אחד עם השני?

וִידֵאוֹ: איך חוט מתקשר אחד עם השני?
וִידֵאוֹ: כיצד לחבר שני מסכים למחשב אחד 2024, אַפּרִיל
Anonim

יש שלוש דרכים עבור חוטים ל לתקשר אחד עם השני . הראשון הוא באמצעות נתונים משותפים. כל ה חוטים באותה תוכנית חולקים את אותו שטח זיכרון. אם חפץ נגיש למגוון חוטים ואז אלה חוטים לשתף גישה לאיבר הנתונים של אותו אובייקט וכך לתקשר אחד עם השני.

אנשים גם שואלים, איך מתקשרים בין שני שרשורים?

הבנת תהליך התקשורת בין חוטים

  1. חוטים נכנסים כדי לרכוש נעילה.
  2. המנעול נרכש על ידי על חוט.
  3. כעת השרשור עובר למצב המתנה אם אתה קורא לשיטת wait() באובייקט.
  4. אם אתה קורא לשיטת notify() או notifyAll(), השרשור יעבור למצב ההודעה (מצב שניתן להרצה).

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

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

תקשורת בין חוטים ב-Java

  1. wait()-זה אומר לשרשור הקורא לוותר על הנעילה וללכת לישון עד שרשור אחר ייכנס לאותו מוניטור ויקרא notify().
  2. notify()-זה מעורר שרשור אחד אחד שנקרא wait() על אותו אובייקט.
  3. notifyAll()-זה מעיר את כל השרשורים שנקראו wait() על אותו אובייקט.

איך אתה משתמש בהמתנה והתראה בשרשורי Java?

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

מוּמלָץ: