לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

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



  #1  
ישן 03-01-2011, 09:08
  The_Equivocator The_Equivocator אינו מחובר  
 
חבר מתאריך: 11.02.04
הודעות: 16,543
מה נותן זמנות יותר גבוהה ללאה, ובתוכה תרד?

או לחלופין שני תרדים.

אני אסביר.
אני ממש סוג של "שרת" אשר כל תפקידו להאזין לחיבור אחד של STOMP CLIENT.

דרך אחת שחשבתי עליה זה לולאה ראשית, אשר לפני הכניסה אליה הופעל תרד אחד, אשר מעת לעת מאזין להודעות, מכניס את ההודאות לתור, ובלולאה הראשית אני בכל פעם מוציא הודעה מראש התור, ומבצע את הפעולות הנדרשות.

הממוש השני הוא שני תרדים:
האחד כמו מקודם אחראי להאזין להודעות של STOMP CLIENT, ולהכניס הודעות מתאימות לתור.
והתרד השני אחראי מפעם-לפעם לקחת הודעה מראש רשימת ההודעות ולבצעה את המשימה(בהתאם להודעה בראש התור).

האם יש עדיפות גבוהה לאחד הממושים על השני? ואם כן מדוע? (האם באחד הממושים הסיכוי "לפספס" הודעה גבוהה יותר מהשני?)

*אני מודע לזה ששני הממושים בעייתים, כי בשניהם ייתכנו "פספוסי" הודעות, יחד עם זאת זה תרגיל בית בתכנות, ומתאפשר לנו בשלב זה "לפספס" הודעות...

נערך לאחרונה ע"י The_Equivocator בתאריך 03-01-2011 בשעה 09:22.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #6  
ישן 03-01-2011, 10:26
  The_Equivocator The_Equivocator אינו מחובר  
 
חבר מתאריך: 11.02.04
הודעות: 16,543
בתגובה להודעה מספר 5 שנכתבה על ידי stoned שמתחילה ב "נראה לי שבשני המקרים החלק שמכניס לתור והחלק שמוציא מהתור הם ת'רדים נפרדים, לא?"

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

לגבי השאלה שלך:
במקרה הראשון בכלל יש רק תרד אחד, שכל תפקידו להאזין לסוקט, והעתיק בכל פעם הודעות מהבאפר לתור של הודעות, והלולאה(התרד המדובר הופעל לפני הכניסה ללולאה זו), לוקחת פקודות מהתור ומבצעת אותם.
בממוש השני אכן יש שני תרדים, אחד מכניס הודעות, והשני שולף+מבצעה..

אכשיו בהנחה שקצב ההודעות הוא סביר, האם אני יכול להמנע כלל ממוש תור של הודעות? ובכל פעם פשוט לקרוא פקודה ואז ישירות לבצע? האם זה ממוש סביר?
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #7  
ישן 03-01-2011, 10:46
צלמית המשתמש של stoned
  stoned stoned אינו מחובר  
 
חבר מתאריך: 03.11.02
הודעות: 21,199
אוקיי, חשבתי שהתכוונת לבאפר משלך ולא לבאפר של הסוקט.
בתגובה להודעה מספר 6 שנכתבה על ידי The_Equivocator שמתחילה ב "אני חושב שהמרצה כנראה התכוון..."

ועדיין, אלא אם כן אני מפספס משהו בישטה הראשונה יש לך:
א) תר'ד שמאזין לסוקט, לוקח הודעות מהבאפר ומכניס לתור.
ב) לולאה בת'רד הראשי (לא יודע אם זה המונח המדוייק) שלוקחת הודעות מהתור ומבצעת אותן.

בשיטה השניה יש לך:
א) ת'רד ראשי שמאתחל את שני התר'דים ולא עושה שום דבר.
ב) ת'רד שמאזין לסוקט, לוקח הודעות והבאפר ומכניס לתור
ג) ת'רד שלוקח הודעות מהתור ומבצע אותן.

בכל מקרה, עליך לנהל מערכת נעילות לתור מפני שיש שני גורמים שמעדכנים אותו במקביל.
(זה יהיה חשוב יותר בשלב הבא שהוא, אני מניח, מאגר ת'רדים שיעבדו במקביל, יוציאו הודעות מהתור ויבצעו אותן)

ויתור על התור הוא בעייתי כי מספיק שביצוע אחת מההודעות יקח הרבה זמן ותקבל באפר אוברפלוו.
_____________________________________
חברי כנסת ישרים

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #8  
ישן 03-01-2011, 10:55
  The_Equivocator The_Equivocator אינו מחובר  
 
חבר מתאריך: 11.02.04
הודעות: 16,543
בתגובה להודעה מספר 7 שנכתבה על ידי stoned שמתחילה ב "אוקיי, חשבתי שהתכוונת לבאפר משלך ולא לבאפר של הסוקט."

ציטוט:
ועדיין, אלא אם כן אני מפספס משהו בישטה הראשונה יש לך:
א) תר'ד שמאזין לסוקט, לוקח הודעות מהבאפר ומכניס לתור.
ב) לולאה בת'רד הראשי (לא יודע אם זה המונח המדוייק) שלוקחת הודעות מהתור ומבצעת אותן.

בשיטה השניה יש לך:
א) ת'רד ראשי שמאתחל את שני התר'דים ולא עושה שום דבר.
ב) ת'רד שמאזין לסוקט, לוקח הודעות והבאפר ומכניס לתור
ג) ת'רד שלוקח הודעות מהתור ומבצע אותן.


אכן בדיוק לזה התכוונתי.. ברור שמאחורי הקלעים יש בכל מקרה שני תרדים, פשוט במקרה הראשון אחד מהן הוא ה"תרד הראשי", ואין לא ראנבל, אלה MAIN, השאלה אם יש איזה הבל בין הממושים, והאם יש עדיפות של אחד מהם על פני השני?

ציטוט:
ויתור על התור הוא בעייתי כי מספיק שביצוע אחת מההודעות יקח הרבה זמן ותקבל באפר אוברפלוו.


כן זה ברור לי.. אבל אני חושב שזאת הייתה כוונתו של המרצה כאשר אמר שבעבודה זו אנחנו יכולים לפספס הודעות..

תבין כל הנושא של התקשורת חדש לנו לגמרי, שפכו עלנו טונה של חומר, לקרוא להבין, ולעשות עבודה..(הדמיה של בורסה..)

http://www.cs.bgu.ac.il/~spl111/Ass...t_3/Description

כך שיכול להיות שזה באמת כוונת המשורר ב"להניח" שלא נופצץ בהודעות בבדיקה..

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


ברור כשמש

*רק שאין כאן שום מאגר.. זה לא באמת שרת.. הוא מאין שרת מנובן שכזה שמנהל רק SOCKET אחד. מול הSTOMCLIENT.

השרת האמתי הוא הSTOMP SERVER שגם אותו אני ממש בעבודה זו.

נערך לאחרונה ע"י The_Equivocator בתאריך 03-01-2011 בשעה 10:59.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #9  
ישן 03-01-2011, 12:01
צלמית המשתמש של stoned
  stoned stoned אינו מחובר  
 
חבר מתאריך: 03.11.02
הודעות: 21,199
בתגובה להודעה מספר 8 שנכתבה על ידי The_Equivocator שמתחילה ב "[QUOTE]ועדיין, אלא אם כן אני..."

לא נראה לי שיש הבדל בין שני המימושים, אבל יכול להיות שאני טועה.
מה שכן המימוש השני (שני ת'רדים) מכין אותך לשלב הבא (לדעתי).

אני יכול להניח שהשלב הבא יהיה להציע פתרון בו כל הודעה בתור תפתח ת'רד משל עצמה, ואז במקרה של כמות גדולה של הודעות כל התהליך יתקע.

ואז הפתרון של מאגר ת'רדים בו הכוונה היא לא להאזנה ליותר מפורט אחד אלא למספר ת'רדים שימשכו הודעות מהתור.

כלומר, אם נגדיר שבמאגר יהיו 5 ת'רדים אז:

ת'רד 1 - מזין הודעות בתור מהסוקט
ת'רדים 2, 3, 4, 5 ,6 - מושכים הודעות מהתור ומבצעים אותן. כך, מצד אחד, אתה יכול לבצע כמה הודעות במקביל, אבל לא חושש מתקיעת התהליך עם יותר מדי ת'רדים (אז ה-CONTEXT SWITCHING בין ת'רד לת'רד יהיה רוב מה שהתהליך שלך יבצע במקום את ההודעות עצמן).
_____________________________________
חברי כנסת ישרים

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

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

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 22:08

הדף נוצר ב 0.05 שניות עם 12 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר