Async Methods and Awaiting Tasks c# In Hindi

Async Methods and Awaiting Tasks c# In Hindi

C# प्रोग्रामिंग लैंग्वेज में एसिंक्रोनस प्रोग्रामिंग एक ऐसा प्रोग्राम कांसेप्ट या फीचर है, जिसमे C# यूजर किसी प्रोग्राम के मेन थ्रेड प्रोसेस को ब्लॉक किए बिना लॉन्ग टाइम तक रन होने वाले प्रोग्रामिंग ऑपरेशन को परफॉर्म करने में हेल्प करती है। C# में एसिंक्रोनस प्रोग्रामिंग आपके प्रोग्राम और एप्लिकेशन की मल्टीप्ल डिवाइस सिस्टम रिस्पॉन्सिवनेस और परफॉर्मेंस को इम्प्रूव करता है।

Async Methods and Awaiting Tasks c# In Hindi

Keywords used in asynchronous programming in C#.

  • async
  • await

यहाँ ऊपर डिफाइन एसिंक्रोनस प्रोग्रामिंग कीवर्ड सामान्य रूप से Task और Task<T> के साथ यूज़ होते हैं।

What is an Async Method in C#?

  • C# प्रोग्रामिंग में async मेथड एक ऐसा प्रोग्राम मेथड या कांसेप्ट है, जो किसी प्रोग्राम में async कीवर्ड का यूज़ करके एसिंक्रोनस टास्क प्रोसेस को एक्सेक्यूट या रन करता है।
  • यह किसी प्रोग्राम में किसी टास्क के कम्पलीट होने का वेट करते हुए अन्य दूसरे प्रोग्राम टास्क को कंटिन्यू करने में हेल्प करता है।

Syntax of Async Method.

async Task MethodName()

{

await AnyTask();

}

What is await in C#?

C# एसिंक्रोनस प्रोग्रामिंग में await कीवर्ड async मेथड के एग्जीक्यूशन को तब तक स्टॉप या होल्ड करता है, जब तक कि मौजूदा प्रोग्राम इवेंट में होल्ड या अटेंड किया जा रहा एसिंक्रोनस टास्क टर्मिनेट नहीं हो जाता है।

Key points about the await keyword.

  • यह मौजूदा प्रोग्राम में मेन थ्रेड को ब्लॉक नहीं करता है
  • यह मौजूदा कंट्रोल कॉलर के पास वापस रिटर्न हो जाता है
  • प्रोग्राम एप्लीकेशन में एसिंक्रोनस टास्क कम्पलीट होने के बाद इसमें प्रोग्राम एग्जीक्यूशन फिर से स्टार्ट हो जाता है

Why use Async and Await in C#?

  • C# में Async प्रोग्रामिंग इन मुख्य टास्क के लिए यूज़फुल है.
  • C# में फ़ाइल हैंडलिंग ऑपरेशन प्रोसेस करने में।
  • मौजूदा फाइल डेटाबेस कॉल क्रिएट करने में.
  • वेब बेस्ड लार्ज लेवल एपीआई रिक्वेस्ट को मैनेज करने में.
  • हेवी ट्रैफिक नेटवर्क कम्युनिकेशन इस्टैब्लिशमेंट में.
  • लॉन्ग टाइम तक रन होने वाले प्रोग्राम कैलकुलेशन में.

C# में एसिंक्रोनस Async प्रोग्रामिंग के बिना, प्रोग्राम ऑपरेशन टास्क कम्पलीट होने का वेट करते समय आपके प्रोग्राम या एप्लिकेशन फ़्रीज़ हो सकते हैं।

Example of Async and Await in C#.

using System;

using System.Threading.Tasks;

class Program

{

    static async Task Main()

    {

        Console.WriteLine(“Start Task”);

        await UploadFile();

        Console.WriteLine(“Task Done”);

    }

    static async Task UploadFile()

    {

        Console.WriteLine(“Uploading Start…”);

        // here it Simulates a 5-second delay for task

        await Task.Delay(5000);

        Console.WriteLine(“Uploading File Terminate”);

    }

}

Explaining Async and Await in C#.

  • यहाँ इस प्रोग्राम में Main() फंक्शन मेथड को async से इंडीकेट किया गया है.
  • प्रोग्राम में UploadFile() एक टास्क को प्रोवाइड करता है.
  • जिसमे await Task.Delay(5000); मेथड मौजूदा टास्क को 5 सेकंड के लिए पॉज़ या डिले करता है.
  • टास्क वेट के अंतराल में थ्रेड ब्लॉक नहीं होता है.
  • यहाँ टास्क कम्पलीट होने के बाद प्रोग्राम एग्ज़िक्यूशन नॉर्मली कंटिन्यू रहता है.

Returning a Value from an Async Method in C#.

आप C# प्रोग्राम में Async मेथड Task<T> को अप्लाई करके किसी प्रोग्राम वैल्यू को रिटर्न कर सकते हैं।

Example of Returning a Value from an Async Method.

using System;

using System.Threading.Tasks;

class Program

{

    static async Task Main()

    {

        int output = await TotalIntegers();

        Console.WriteLine(“Result = ” + output);

    }

    static async Task<int> TotalIntegers()

    {

        await Task.Delay(4000);

        return 3 + 7; result – 10 (after 4 seconds)

    }

}

Types of async return values ​​in a C# program.

  • यह यूजर डिफाइन प्रोग्राम पैरामीटर वैल्यू रिटर्न टाइप का डिस्क्रिप्शन प्रोवाइड करता है।
  • यहाँ टास्क कोई रिटर्न वैल्यू एक्सेप्ट नहीं करता है।
  • जिसमे Task<T> एक वैल्यू को प्रोवाइड करता है.
  • वैल्यू रिटर्न के रूप में void कीवर्ड अधिकतर इवेंट हैंडलर के लिए यूज़ होता है.

Difference between synchronous and asynchronous execution in C#.

Synchronous execution.

  • इसमें प्रोग्राम इवेंट टास्क एक के बाद एक रन या एग्जीक्यूट होते हैं.
  • जिसमे मौजूदा प्रोग्राम में नेक्स्ट टास्क या प्रीवियस प्रोग्राम टास्क के एंड होने तक वेट करता है
  • यह मौजूदा प्रोग्राम या एप्लिकेशन को ब्लॉक कर सकता है

Asynchronous execution.

  • इसमें प्रोग्राम एप्लीकेशन टास्क बिना ब्लॉक किए एग्जीक्यूट या रन होते हैं.
  • यह सिस्टम का रिस्पॉन्सिवनेस बिहैवियर को बेहतर करता है.
  • यह सिस्टम में I/O ऑपरेशन के लिए एक बेहतर विकल्प है.

Example of multiple asynchronous tasks.

using System;

using System.Threading.Tasks;

class Program

{

    static async Task Main()

    {

        Task taskfirst = Task1();

        Task tasksecond = Task2();

        Task taskthird = Task3();

        await taskfirst;

        await tasksecond;

        await taskthird;

        Console.WriteLine(“All Tasks Terminated”);

    }

    static async Task Task1()

    {

        await Task.Delay(3000);

        Console.WriteLine(“Task First Done”);

    }

    static async Task Task2()

    {

        await Task.Delay(2000);

        Console.WriteLine(“Task Second Done”);

    }

    static async Task Task3()

    {

        await Task.Delay(1000);

        Console.WriteLine(“Task Third Done”);

    }

}

Advantages of the Async/Await concept in C#.

  • यह आपके प्रोग्राम में एप्लीकेशन UI को रिस्पॉन्सिव मेन्टेन करता है.
  • आपके प्रोग्राम या एप्लिकेशन की परफ़ॉर्मेंस को इम्प्रूव करता है.
  • प्रोग्राम में एसिंक्रोनस सोर्स कोड को क्रिएट करने में हेल्प करता है
  • यह प्रोग्राम कॉलबैक कम्पेरिजन में रीड करने में इजी और सिंपल है.
  • इसमें वेब सर्वर एप्लिकेशन के लिए बेहतर स्केलेबिलिटी और इम्प्रोवेंमेंट फीचर्स है.

Important things about asynchronous programming.

प्रोग्राम क्रिएटेड Async मेथड सामान्य रूप से Task आउटपुट को रिटर्न करते हैं.

async Task TestMethod()

Use the await keyword inside async methods.

await Task.Delay(5000);

How to avoid blocking calls in your program.

Avoid blocking calls.

Task.Delay(2000).Wait();

Use this for blocking calls.

await Task.Delay(4000);

Real-life example of asynchronous programming.

माना कि आप किसी हॉस्पिटल में हेल्थ चेकअप के लिए क्यू या लाइन में खड़े हैं.

  • Synchronous operation – इसमें आप मेडिकल काउंटर पर खड़े होकर अपनी हेल्थ चेकअप पर्ची लेकर वेट करते हैं
  • Asynchronous operation – यहाँ आप हेल्थ चेकअप के लिए अपनी पर्ची नंबर के अनुसार लाइन में अपनी बारी का इंतजार करते हैं, और अपनी बारी का वेट करते हुए अपनी टेबल बेंच पर बैठ या अपनी जगह पर खड़े रहते हैं.

यहाँ Async प्रोग्रामिंग प्रोग्राम में वेट करते समय अन्य सेकंड टास्क करते रहने देती है।

Async Methods and Awaiting Tasks Summary.

C# प्रोग्रामिंग में Async मेथड और await, Task, Task<T> कीवर्ड का यूज़ नॉन-ब्लॉकिंग एसिंक्रोनस प्रोग्राम टास्क ऑपरेशन परफॉर्म करने में किया जाता है। एसिंक्रोनस प्रोग्राम टास्क आपको फ़ाइल हैंडलिंग एक्टिविटीज, डेटाबेस मेनूप्लेशन ऑपरेशन, या वेब एपीआई रिक्वेस्ट जैसे लॉन्ग टाइम तक रन होने वाले प्रोग्रामिंग टास्क करते समय प्रोग्राम या एप्लिकेशन को रिस्पॉन्सिव और एफ्फिसिएंट करने में हेल्प करते हैं।

Leave a Reply