שיחה בשיטה אסינכרונית

מְחַבֵּר: Lewis Jackson
תאריך הבריאה: 8 מאי 2021
תאריך עדכון: 25 יוני 2024
Anonim
המדריך לשיעור א-סינכרוני אפקטיבי
וִידֵאוֹ: המדריך לשיעור א-סינכרוני אפקטיבי

תוֹכֶן

הגדרה - מה המשמעות של שיחת שיטה אסינכרונית?

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

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

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

קריאה לשיטת שיטה אסינכרונית עשויה להתייחס גם לכינוי שיטת אסינכרוני (AMI).


מבוא ל- Microsoft Azure ו- Microsoft Cloud | במהלך מדריך זה תוכלו ללמוד על אודות מיחשוב ענן וכיצד Microsoft Azure יכולה לעזור לכם להעביר ולנהל את העסק שלכם מהענן.

Techopedia מסביר שיחת שיטה אסינכרונית

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

המסגרת .NET כוללת תשתית אסינכרונית מובנית כך שניתן יהיה להפעיל כל שיטה באופן אסינכרוני מבלי לשנות את הקוד שלה.

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

בתבנית הנציגים האסינכרוניים, אובייקט נציג משתמש בשתי שיטות: BeginInvoke ו- EndInvoke. ל- BeginInvoke רשימת פרמטרים הדומים לפונקציה העטופה שלה, יחד עם שני פרמטרים אופציונליים נוספים; זה מחזיר את האובייקט IAsyncResult. EndInvoke מחזיר שני פרמטרים (סוג החוצה וההפצה) יחד עם האובייקט IAsyncResult. BeginInvoke משמש להפעלת השיחה האסינכרונית ואילו EndInvoke משמש לאחזור תוצאות השיחה האסינכרונית.

דפוסים אסינכרוניים מבוססי אירועים משתמשים בכיתה שיש לה אחת או יותר שיטות, בשם MethodNameAsync, עם גרסאות סינכרוניות תואמות שמופעלות על החוט הנוכחי. דפוסי מבוסס אירועים עשויים לכלול גם אירוע MethodNameComplete ושיטת MethodNameA SyncCancel. דפוס זה מאפשר לכיתה לתקשר עם פעולות אסינכרוניות ממתינות באמצעות מודל אירוע הנציג.

להלן מספר טיפים הקשורים לשיטות אסינכרוניות:


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