ABA


"מה הדרך הכי טובה לסמלץ מקביליות בשפה"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #10275 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 10275
akoka2

   20:10   21.02.11   
אל הפורום  
  מה הדרך הכי טובה לסמלץ מקביליות בשפה  
 
   שלא ממש תומכת בזה?

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

אני לא אומר באיזה שפה, כי אני מחפש רעיון מדובר על שפה שהיא High Level אין לי גישה לזיכרון, או לכול דבר הזוי, אבל תגידו אולי אני אכתוב איזה DLL או משהו.


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  הדבר הכי קרוב שאפשר לעשות ללסמלץ ldan192  21.02.11 23:46 1
  אתה לא יכול בלי דרך נורמלית להרים סיגנלים בצורה א-סינכרונית DLN 22.02.11 09:21 2
  תקנו אותי אם אני טועה אבל אין דבר כזה מקביליות באמת... sharkk 22.02.11 16:57 3
     כשיש מספר מעבדים/ת'רדים אז המקביליות אמיתית ldan192  22.02.11 19:34 5
         הבנתי, אני התייחסתי למעבד אחד. sharkk 23.02.11 14:15 7
  הפתרון נמצא תודה:) akoka2 22.02.11 19:15 4
     אתה צוחק עלי? לממש CONCURRENCY ב-JS Ice Cold  23.02.11 14:00 6
         אני לא כזה מבין גדול בJS אבל בדפדפן שלא תומך ב Net_Boy  23.02.11 20:55 8
             הםםם בכלל, כל הפעולות האסינכרוניות שאפשר ליצור ב-JS ldan192  23.02.11 20:59 9
             אין Threads ב-JS, הדפדפן רץ ב-Thread אחד בלבד. Ice Cold  24.02.11 09:56 10
                 אתה בטוח בזה? נשמע לי קצת מוזר מה שאתה אומר ldan192  24.02.11 11:36 11
                     אני מניח ש-ASYNC גם עובד על TIMERS איפהשהוא. Ice Cold  24.02.11 15:58 12
                         הגיוני, בכל מקרה אז זה בדיוק שימוש ב-signals, וכמו ldan192  24.02.11 19:55 13
                     עידן צודק במיליון אחוז, akoka2 25.02.11 15:50 15
         חחח יניב אין סיכוי: akoka2 25.02.11 15:37 14
             לא בדיוק הבנתי מה אתה מנסה לעשות בדוגמא שביקשת. Ice Cold  27.02.11 17:21 17
  קוקע יא פוץ :] Sn00py  25.02.11 17:38 16

       
ldan192 
חבר מתאריך 14.9.08
95119 הודעות
   23:46   21.02.11   
אל הפורום  
  1. הדבר הכי קרוב שאפשר לעשות ללסמלץ  
בתגובה להודעה מספר 0
 
זה שימוש ב-signals ו-handlers... וגם אז אתה אף לא תקבל מקביליות טהורה (אלא אם אתה ממש יוצר חוטים ומנהל משטר תזמונים בעצמך).

אבל בסה"כ - ב-high level זה נורא תלוי מה הכלים שהשפה נותנת לך...


בברכה,
עידן


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
DLN
חבר מתאריך 20.4.07
15884 הודעות
   09:21   22.02.11   
אל הפורום  
  2. אתה לא יכול בלי דרך נורמלית להרים סיגנלים בצורה א-סינכרונית  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
sharkk
חבר מתאריך 2.9.02
1306 הודעות
   16:57   22.02.11   
אל הפורום  
  3. תקנו אותי אם אני טועה אבל אין דבר כזה מקביליות באמת...  
בתגובה להודעה מספר 0
 
   תמיד יש לך תהליך מסוים שלוקח timeslice מסוים, אפילו עם הוא קטן מאוד מאוד, זה נראה לכאורה מקבילי אבל שורה תחתונה זה לא.

אם זה לא נכון אני אשמח לתיקון.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ldan192 
חבר מתאריך 14.9.08
95119 הודעות
   19:34   22.02.11   
אל הפורום  
  5. כשיש מספר מעבדים/ת'רדים אז המקביליות אמיתית  
בתגובה להודעה מספר 3
 
כמובן שתמיד יתכנו bottlenecks כמו i/o, אבל הביצוע הוא מקבילי.


בברכה,
עידן


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
sharkk
חבר מתאריך 2.9.02
1306 הודעות
   14:15   23.02.11   
אל הפורום  
  7. הבנתי, אני התייחסתי למעבד אחד.  
בתגובה להודעה מספר 5
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
akoka2

   19:15   22.02.11   
אל הפורום  
  4. הפתרון נמצא תודה:)  
בתגובה להודעה מספר 0
 
   השפה המדוברת Javascript את הפתרון אני לא יכול לפרסם, חלק מהעבודה ומעטה הסודיות מעליה


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Ice Cold  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 3.8.02
28041 הודעות, 19 פידבק
   14:00   23.02.11   
אל הפורום  
  6. אתה צוחק עלי? לממש CONCURRENCY ב-JS  
בתגובה להודעה מספר 4
 
זה אולי אחד הדברים הכי פשוטים...


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Net_Boy  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 1.4.02
17151 הודעות, 1 פידבק
   20:55   23.02.11   
אל הפורום  
  8. אני לא כזה מבין גדול בJS אבל בדפדפן שלא תומך ב  
בתגובה להודעה מספר 6
 
   web worker כמו IE, איך אתה עושה את זה?
למיטב ידיעתי setTimeout רץ על אותו THREAD.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ldan192 
חבר מתאריך 14.9.08
95119 הודעות
   20:59   23.02.11   
אל הפורום  
  9. הםםם בכלל, כל הפעולות האסינכרוניות שאפשר ליצור ב-JS  
בתגובה להודעה מספר 8
 
הן מן הסתם משתמשות בחוטים.
כל טעינת של דף משתמשת בהרבה חוטים.


בברכה,
עידן


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Ice Cold  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 3.8.02
28041 הודעות, 19 פידבק
   09:56   24.02.11   
אל הפורום  
  10. אין Threads ב-JS, הדפדפן רץ ב-Thread אחד בלבד.  
בתגובה להודעה מספר 8
 
אבל לממש מנגנון ששומר REFERENCE לפונקציות עם setTimeout - לא כזה BIG DEAL, אני מניח שזה בדיוק מה שהוא עשה, תכנות ל-WEB לא ממש דורש דיוק RT.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ldan192 
חבר מתאריך 14.9.08
95119 הודעות
   11:36   24.02.11   
אל הפורום  
  11. אתה בטוח בזה? נשמע לי קצת מוזר מה שאתה אומר  
בתגובה להודעה מספר 10
 
הרי אם אני שולח פקודה אסינכרונית לסרבלט, למשל, והוא נתקע על לולאה אינסופית, זה לא יפריע לך לטעון את שאר הדף ולקרוא לעוד פקודות אסינכרוניות במקביל.


בברכה,
עידן


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Ice Cold  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 3.8.02
28041 הודעות, 19 פידבק
   15:58   24.02.11   
אל הפורום  
  12. אני מניח ש-ASYNC גם עובד על TIMERS איפהשהוא.  
בתגובה להודעה מספר 11
 
את הנתון שהוא רץ על THREAD אחד הוצאתי מאיזו כתבה טכנית על זה...


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ldan192 
חבר מתאריך 14.9.08
95119 הודעות
   19:55   24.02.11   
אל הפורום  
  13. הגיוני, בכל מקרה אז זה בדיוק שימוש ב-signals, וכמו  
בתגובה להודעה מספר 12
 
שאמרת, אין אז שום בעיה לבצע את זה...


בברכה,
עידן


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
akoka2

   15:50   25.02.11   
אל הפורום  
  15. עידן צודק במיליון אחוז,  
בתגובה להודעה מספר 11
 
   הפתרון היחידי שיעבוד, זה לבצע בדיקות של זמנים, אין שום דרך לדעת מתי פונקציה אסינכרונית סיימה לרוץ, הפתרון שלי מימש פשוט hash ששומר reference מסויים ומבצע פשוט sleep לכול הקוד, אבל אף אחד לא יכול להבטיח לי שהפעולה תסתיים תוך x שניות/מילישניות, הפתרון הזה לא יציב בכלל, הפתרון השני הוא באמת להכנס ללולאה אינסופית, אבל אם הcallback נכשל אז האתר ייתקע ומתישהוא הדפדפן ייזרוק אקספשן.

םתרון נוסף הוא לנסות לשנות את הprototype של כול פונקציה, היום אני אנסה אותו.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
akoka2

   15:37   25.02.11   
אל הפורום  
  14. חחח יניב אין סיכוי:  
בתגובה להודעה מספר 6
 
   ערכתי לאחרונה בתאריך 25.02.11 בשעה 15:43 בברכה, akoka2
 
עזוב אני לא יכול לפרט יותר מדי, אבל עומר NETBOY יכול להעיד כמה המקרה שאני מדבר עליו מטורף.

קח את הדוגמא הכי פשוטה:

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

ורק כי לא לצאת טמבל, הינה דוגמא קטנה:


/*asyncFunc is async function */
var o = new function () {
this.asyncFunc = function(data, callback)
{
callback.apply(this, [data]);
}
}



אני מוכן לשים 1000 שקל, לבן אדם הראשון שיביא פתרון שלא משתמש במימוש הזוי של sleep או משהו בסגנון.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Ice Cold  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 3.8.02
28041 הודעות, 19 פידבק
   17:21   27.02.11   
אל הפורום  
  17. לא בדיוק הבנתי מה אתה מנסה לעשות בדוגמא שביקשת.  
בתגובה להודעה מספר 14
 
תן משהו קצת יותר קונקרטי שיהיה מול מה לבדוק.
ותתחבר כבר ל-MSN יא פארש


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Sn00py 
חבר מתאריך 1.8.02
2954 הודעות
   17:38   25.02.11   
אל הפורום  
  16. קוקע יא פוץ :]  
בתגובה להודעה מספר 0
 
  

\x6C\x65\x65\x74\x68\x61\x78\x30
\x72\x3A\x2D\x29
tresp4sser


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net