Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C#

एकाधिक एसिंक कार्यों को कैसे चलाएं और उन सभी को सी # में पूरा करने की प्रतीक्षा करें?

कार्य.सभी प्रतीक्षा करें वर्तमान थ्रेड को तब तक ब्लॉक करता है जब तक कि अन्य सभी कार्यों का निष्पादन पूरा नहीं हो जाता।

कार्य.जब सभी विधि का उपयोग किसी कार्य को बनाने के लिए किया जाता है जो पूरा होगा यदि और केवल तभी जब अन्य सभी कार्य पूर्ण हो जाएं। पहले उदाहरण में, हम देख सकते हैं कि कार्य का उपयोग करते समय। जब अन्य कार्यों को पूरा करने से पहले सभी कार्य पूर्ण हो जाते हैं। इसका मतलब है कि कार्य। जब सभी निष्पादन को अवरुद्ध नहीं करते हैं। और दूसरे उदाहरण में, हम देख सकते हैं कि टास्क का उपयोग करते समय। प्रतीक्षा करें सभी कार्य पूर्ण होने के बाद ही अन्य सभी कार्यों को पूरा किया जाता है। इसका मतलब है कि कार्य। प्रतीक्षा करें सभी निष्पादन को अवरुद्ध करते हैं।

उदाहरण

static void Main(string[] args){
   Task task1 = new Task(() =>{
      for (var i = 0; i < 5; i++){
         Console.WriteLine("Task 1 - iteration {0}", i);
         Task.Delay(1000);
      }
      Console.WriteLine("Task 1 complete");
   });
   Task task2 = new Task(() =>{
      for (var i = 0; i < 5; i++){
         Console.WriteLine("Task 2 - iteration {0}", i);
         Task.Delay(1000);
      }
      Console.WriteLine("Task 2 complete");
   });
   task1.Start();
   task2.Start();
   Console.WriteLine("Waiting for tasks to complete.");
   Task.WhenAll(task1, task2);
   Console.WriteLine("Both Tasks Completed.");
   Console.ReadLine();
}

आउटपुट

Waiting for tasks to complete.
Both Tasks Completed.
Task 1 - iteration 0
Task 2 - iteration 0
Task 2 - iteration 1
Task 2 - iteration 2
Task 2 - iteration 3
Task 1 - iteration 1
Task 1 - iteration 2
Task 1 - iteration 3
Task 1 - iteration 4
Task 1 complete
Task 2 - iteration 4
Task 2 complete

उदाहरण

static void Main(string[] args){
   Task task1 = new Task(() =>{
      for (var i = 0; i < 5; i++){
         Console.WriteLine("Task 1 - iteration {0}", i);
         Task.Delay(1000);
      }
      Console.WriteLine("Task 1 complete");
   });
   Task task2 = new Task(() =>{
      for (var i = 0; i < 5; i++){
         Console.WriteLine("Task 2 - iteration {0}", i);
         Task.Delay(1000);
      }
      Console.WriteLine("Task 2 complete");
   });
   task1.Start();
   task2.Start();
   Console.WriteLine("Waiting for tasks to complete.");
   Task.WaitAll(task1, task2);
   Console.WriteLine("Both Tasks Completed.");
   Console.ReadLine();
}

आउटपुट

Waiting for tasks to complete.
Task 1 - iteration 0
Task 2 - iteration 0
Task 1 - iteration 1
Task 1 - iteration 2
Task 1 - iteration 3
Task 1 - iteration 4
Task 1 complete
Task 2 - iteration 1
Task 2 - iteration 2
Task 2 - iteration 3
Task 2 - iteration 4
Task 2 complete
Both Tasks Completed

  1. Android पर एक से अधिक Facebook खाते कैसे स्थापित करें और कैसे चलाएं

    फेसबुक दुनिया भर में सबसे लोकप्रिय सोशल मीडिया प्लेटफॉर्म में से एक है। हर फेसबुक यूजर का फेसबुक अकाउंट इस्तेमाल करने का अलग मकसद होता है। कुछ इसका उपयोग समाचार फ़ीड की जांच के लिए करते हैं, कुछ हर दूसरे दिन फ़ोटो और वीडियो पोस्ट करना पसंद करते हैं और कुछ इसे व्यावसायिक उद्देश्य के लिए उपयोग करते है

  1. Gmail पर टास्क कैसे बनाएं और उनके साथ कैसे काम करें

    टास्क और रिमाइंडर्स बनाने और मैनेज करने के लिए लोग अक्सर थर्ड-पार्टी टूल्स का इस्तेमाल करते हैं। हर ऐप स्टोर पर सैकड़ों वेब और मोबाइल एप्लिकेशन उपलब्ध हैं जो ऐसा कर सकते हैं। और प्रत्येक सही काम करने में दूसरे से बेहतर है। हालाँकि, जब ईमेल क्लाइंट की बात आती है, तो जब कार्यों को बनाने और प्रबंधित क

  1. Windows में कार्यों को स्वचालित कैसे करें

    कई लोगों के लिए, एक लैपटॉप या डेस्कटॉप पीसी एक अनिवार्य उपकरण है। चाहे वह काम पूरा करना हो, परिवार और दोस्तों के साथ संपर्क में रहना हो या एक लंबे दिन के अंत में स्विच ऑफ करना हो, विंडोज चलाने वाला एक उपकरण यह सब कर सकता है। सब कुछ सुचारू रूप से चलने में मदद के लिए, विंडोज़ पृष्ठभूमि में कई रखरखाव