কম্পিউটার

সি++ এ ফর্ক() ব্যবহার করে পিতামাতা এবং শিশু প্রক্রিয়ায় গণনা


এই বিভাগে আমরা দেখব কিভাবে ফর্ক() ব্যবহার করে C++ এ চাইল্ড প্রসেস তৈরি করতে হয়। আমরা প্রতিটি প্রক্রিয়ার মধ্যে কিছু গণনাও করি। তাই আমাদের অভিভাবক প্রক্রিয়ায় আমরা একটি অ্যারের সমস্ত জোড় সংখ্যার যোগফল খুঁজে পাব, এবং চাইল্ড প্রক্রিয়ার ভিতরে আমরা অ্যারের উপাদান থেকে বিজোড় যোগফল গণনা করব।

যখন ফর্ক() কল করা হয়, এটি একটি মান প্রদান করে। যদি মানটি 0-এর বেশি হয়, তবে বর্তমানে এটি অভিভাবক প্রক্রিয়ায় রয়েছে, অন্যথায় এটি শিশু প্রক্রিয়ায় রয়েছে। সুতরাং এটি ব্যবহার করে আমরা প্রক্রিয়াগুলির মধ্যে পার্থক্য করতে পারি।

উদাহরণ কোড

#include <iostream>
#include <unistd.h>
using namespace std;
int main() {
   int a[15] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 , 11, 12, 13, 14, 15};
   int odd_sum = 0, even_sum = 0, n, i;
   n = fork(); //subdivide process
   if (n > 0) { //when n is not 0, then it is parent process
      for (int i : a) {
         if (i % 2 == 0)
         even_sum = even_sum + i;
      }
      cout << "Parent process " << endl;
      cout << "Sum of even numbers: " << even_sum << endl;
   } else { //when n is 0, then it is child process
      for (int i : a) {
         if (i % 2 != 0)
            odd_sum = odd_sum + i;
      }
      cout << "Child process " <<endl;
      cout << "Sum of odd numbers: " << odd_sum << endl;
   }
   return 0;
}

আউটপুট

Parent process
Sum of even numbers: 56
Child process
Sum of odd numbers: 64

  1. C++ ব্যবহার করে ফুটবলে পেন্টাগন এবং হেক্সাগনের সংখ্যা খুঁজুন

  2. C++ এ * এবং / অপারেটর ব্যবহার না করে একটি সংখ্যাকে 15 দ্বারা গুণ করুন

  3. C++ এ % অপারেটর ব্যবহার না করে 3 এবং 5 এর একাধিক

  4. কিভাবে C++ ব্যবহার করে OpenCV-তে ইমেজ লোড এবং দেখাবেন?