Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

จำนวนการประมวลผล Zombie สูงสุดที่ระบบสามารถจัดการได้ใน C++


เนื่องจากภารกิจคือการค้นหาจำนวนสูงสุดของกระบวนการซอมบี้ที่ระบบสามารถจัดการได้ หรืออีกนัยหนึ่งคือ โปรแกรมจะไม่หยุดการทำงาน

กระบวนการซอมบี้ (เรียกอีกอย่างว่ากระบวนการที่หมดอายุ) เป็นกระบวนการที่เสร็จสิ้นกระบวนการผ่าน exit() (การเรียกระบบ) แต่ยังคงมีรายการในตารางกระบวนการ

แนวทางที่ใช้ในโปรแกรมด้านล่างนี้

  • โปรดทราบว่าควรเพิ่ม เพื่อเรียกใช้โปรแกรม

  • ในฟังก์ชัน main() เริ่มต้น num =0 ของประเภท int ซึ่งเราจะทำซ้ำจนกว่าโปรแกรมจะหยุดทำงาน

  • ในการเริ่มต้นกระบวนการซอมบี้ ให้สร้างคำสั่ง while โดยมีเงื่อนไข − while( fork()> 0 )

    การเรียกระบบ Fork() ใช้สำหรับเริ่มต้นกระบวนการใหม่ที่เรียกว่ากระบวนการลูกซึ่งทำงานพร้อมกันและทำการเรียก fork() (ซึ่งเป็นกระบวนการหลัก)

  • ภายใน while loop เพิ่มขึ้น num เช่นเดียวกับการพิมพ์

ตัวอย่าง

#include<iostream>
#include<unistd.h>
using namespace std;
int main(){
   int num = 0;
   while (fork() > 0){
      num++;
      cout<<num<<" ";
   }
}

ผลลัพธ์

หากเราเรียกใช้โค้ดข้างต้น เราจะได้ผลลัพธ์ดังต่อไปนี้ -

จำนวนการประมวลผล Zombie สูงสุดที่ระบบสามารถจัดการได้ใน C++

ในจำนวนเอาต์พุตด้านบนหยุดเพิ่มขึ้นที่ 93 แต่ตัวเลขนี้ไม่คงที่และสามารถเปลี่ยนแปลงได้ขึ้นอยู่กับการกำหนดค่าระบบ