สี่งานพร้อมกัน…ฉันจะทำอย่างไร
ฉันมีรูปภาพ PNG จำนวนหนึ่งอยู่ในไดเรกทอรี ฉันมีแอปพลิเคชันชื่อ pngout ที่ฉันเรียกใช้เพื่อบีบอัดรูปภาพเหล่านี้ แอปพลิเคชันนี้ถูกเรียกใช้โดยสคริปต์ที่ฉันทำ ปัญหาคือสคริปต์นี้ทำทีละครั้งสิ่งนี้: FILES=(./*.png) for f in "${FILES[@]}" do echo "Processing $f file..." # take action on each file. $f store current file name ./pngout -s0 $f R${f/\.\//} done การประมวลผลครั้งละหนึ่งไฟล์ใช้เวลานาน หลังจากเรียกใช้แอพนี้ฉันเห็นว่าซีพียูเพียง 10% ดังนั้นฉันจึงค้นพบว่าฉันสามารถแบ่งไฟล์เหล่านี้ออกเป็น 4 แบทช์แต่ละแบทช์ในไดเรกทอรีและไฟ 4 จากสี่หน้าต่างเทอร์มินัลสี่กระบวนการสี่ดังนั้นฉันมีสี่อินสแตนซ์ของสคริปต์ของฉันในเวลาเดียวกัน งานใช้เวลา 1/4 ของเวลา ปัญหาที่สองคือฉันเสียเวลาในการแบ่งภาพและแบทช์และคัดลอกสคริปต์ไปยังสี่ไดเรกทอรีเปิด windows terminal 4, bla …