এই সেকশনে আমরা দেখব C++-এ fork() ব্যবহার করে চাইল্ড প্রসেস কীভাবে তৈরি করা যায়। আমরা প্রতিটি প্রসেসে কিছু ক্যালকুলেশন করব। তাই আমাদের পেরেন্ট প্রসেসে আমরা একটি অ্যারেতে সব ইভেন নম্বরের যোগফল বের করব, এবং চাইল্ড প্রসেসে আমরা অ্যারে এলিমেন্ট থেকে অড সাম গণনা করব।
যখন fork() কল করা হয়, এটি একটি ভ্যালু রিটার্ন করে। যদি ভ্যালু ০ থেকে বড় হয়, তবে বর্তমানে এটি পেরেন্ট প্রসেসে আছে, অন্যথায় এটি চাইল্ড প্রসেসে আছে। এই ব্যবহার করে আমরা প্রসেস দুটি আলাদা করতে পারি।
#include#include 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(); // প্রসেস সাবডিভাইড if (n > 0) { // যখন n 0 নয়, তবে এটি পেরেন্ট প্রসেস 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 { // যখন n 0, তবে এটি চাইল্ড প্রসেস 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