דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. ארכיון code613m
  4. תכנות א-סינכורני בC# 5 ומעלה

תכנות א-סינכורני בC# 5 ומעלה

מתוזמן נעוץ נעול הועבר ארכיון code613m
1 פוסטים 1 כותבים 238 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • A מנותק
    A מנותק
    avr416
    כתב ב נערך לאחרונה על ידי
    #1

    לכל מי שתהה מה זה task, await ו async
    אז יש כאן קישור לסרטון מעולה בעברית!! (באורך של שעה וחצי, ההסבר על זה מתחיל בדקה ה20 ), הוא מרחיב בהסבר על ההבדל בין תכנות סינכרוני וא-סינכרוני, ועל החידוש בC#5 (די מיושן.. יש היום כבר 6 :lol:, אבל ההרצאה היא מ2012 למניינם.. ) בקלות השימוש בתכנות אסינכרוני.
    הרצאה מעולה, עם הסבר נרחב מאד על השימוש בawait, async וכו'.

    כמובן, שגם יש לנו כאן בפורום את המדריך המעולה של דוד ל.ט. על תכנות מקבילי ושימוש בThreading, אם כי השימוש בawayt אינו בהכרח קשור לשימוש בטרייד שונה.
    לדוגמא, כאשר אנו רוצים לבצע פעולה עם שימוש ברשת (network) ואנו לא יודעים תוך כמה זמן נקבל תשובה וכדו', אז אפשר ליצור טרייד חדש שהוא יבצע את הפעולה הזאת, וכך לא נתקע את הטרייד הראשי (וממילא את כל הUI (באפליקצייה עם UI) וכדו') עד שהתשובה תחזור. אולם, במקרה זה הטרייד המשני הוא זה שמחכה ומחכה, והוא זה שתקוע.. ממילא, אם האפליקציה שלנו רצה על השרת, והשרת מקבל הרבה הרבה קריאות, ובכל קריאה הוא יוצר טרייד חדש לפעולות הללו, אנו יכולים להגיע למצב של עומס על המערכת..
    לכן הפתרון של await הוא בעצם לשחרר את הטרייד לבצע מה שהוא רוצה במשך הזמן שהוא מחכה לתשובה, וכשהתשובה תגיע - הוא יקבל הודעה וימשיך מהמקום בו הוא עצר. אמנם, זה היה קיים גם קודם לכן בדוטנט, אם כי זה היה הרבה יותר מסורבל לכתוב דבר כזה, ואילו עכשיו מספיק להגדיר שהמתודה היא async (ואולי גם להוסיף לה task<t> כשT זה בעצם int / string או כל מה שאני רוצה שהמתודה תחזיר..), וממילא כשאני קורא לפעולת הנטוורק לכתוב קודם await שבעצם אני אומר - תחזיר את מה שיש לך עד עכשיו, וכשתקבל תשובה תמשיך מכאן והלאה.
    כמובן שזה לא קורה לבד, אלא הקומפיילר מהדר את הקוד ויוצר זאת עבורנו.. אולם, לי בתור מפתח זה מקצר את הקוד, ועושה אותו הרבה יותר בהיר וקל לתחזוקה.

    פורסם במקור בפורום CODE613 ב13/02/2016 23:35 (+02:00)

    תגובה 1 תגובה אחרונה
    3

    בא תתחבר לדף היומי!
    • התחברות

    • אין לך חשבון עדיין? הרשמה

    • התחברו או הירשמו כדי לחפש.
    • פוסט ראשון
      פוסט אחרון
    0
    • דף הבית
    • קטגוריות
    • פוסטים אחרונים
    • משתמשים
    • חיפוש
    • חוקי הפורום