Semaphores are thread safe כפי שהוסבר ב-javadoc: השפעות עקביות זיכרון: פעולות בשרשור לפני קריאה לשיטת "שחרור" כגון שחרור קורה-לפני פעולות בעקבות שיטת "רכישה" מוצלחת כגון לרכוש בשרשור אחר. רוב הפעולות על האובייקטים ב-java.
האם סמפורות מונעות גזע?
לא, פעולות הנעילה מתרחשות בצורה אטומית. כל הנעולים לא יבוצעו בצורה אטומית. וזכור, שרשורים חולקים מרחב כתובות משותף וכולם קשורים לתהליך.
האם השימוש בשרשור בטוח?
A MessageService object הוא למעשה בלתי ניתן לשינוי מכיוון שהמצב שלו לא יכול להשתנות לאחר בנייתו. לפיכך, זה בטוח לחוט. יתרה מכך, אם MessageService היה למעשה ניתן לשינוי, אבל לשרשורים מרובים יש רק גישת קריאה בלבד אליו, הוא גם בטוח לשרשור.
האם השרשור בטוח ומסונכרן?
Thread safe פירושו: השיטה הופכת בטוחה שניתן לגשת אליה באמצעות שרשורים מרובים ללא כל בעיה בו-זמנית. מילת מפתח מסונכרנת היא אחת הדרכים להשיג 'בטוח פתילים'. אבל זכור: למעשה בעוד שרשורים מרובים מנסים לגשת לשיטה מסונכרנת, הם עוקבים אחר הסדר כך שהם הופכים בטוחים לגישה.
האם סמפורות הוגנים?
באופן כללי, סמאפורים המשמשים לשליטה בגישה למשאבים צריכים להיות לאתחלים כהוגנים, כדי להבטיח שאף שרשור לא ימנע מגישה למשאב. כשמשתמשסמפורות לסוגים אחרים של בקרת סנכרון, יתרונות התפוקה של הזמנה לא הוגנת עולים לרוב על שיקולי הגינות.