สมมติว่าฉันมีสองทรัพยากรชื่อ0
และ1
ที่สามารถเข้าถึงได้เท่านั้น
มีวิธีใดในการกู้คืน "ดัชนี" ของ "ตัวประมวลผลแบบขนาน" ที่xargs
เปิดตัวเพื่อใช้เป็นบริการการยกเว้นซึ่งกันและกันฟรี เช่นพิจารณาการคำนวณแบบขนานต่อไปนี้:
$ echo {1..8} | xargs -d " " -P 2 -I {} echo "consuming task {}"
consuming task 1
consuming task 2
consuming task 3
consuming task 4
consuming task 5
consuming task 6
consuming task 7
consuming task 8
คำถามของฉันคือว่ามีคำวิเศษพูดว่าindex
ที่ผลลัพธ์จะมีลักษณะ
$ echo {1..8} | xargs -d " " -P 2 -I {} echo "consuming task {} with resource index"
consuming task 1 with resource 0
consuming task 2 with resource 1
consuming task 3 with resource 1
consuming task 4 with resource 1
consuming task 5 with resource 0
consuming task 6 with resource 1
consuming task 7 with resource 0
consuming task 8 with resource 0
ที่รับประกันเพียงอย่างเดียวคือว่ามีเพียงที่เคยกระบวนการหนึ่งมากที่สุดโดยใช้ทรัพยากรและเหมือนกันสำหรับ0
1
โดยทั่วไปฉันต้องการสื่อสารดัชนีนี้ลงในกระบวนการลูกที่เคารพกฎเพื่อใช้ทรัพยากรที่ได้รับคำสั่งเท่านั้น
แน่นอนว่ามันจะดีกว่าถ้าจะขยายให้มากกว่าสองทรัพยากร การตรวจสอบเอกสารxargs
อาจทำไม่ได้ มีวิธีแก้ปัญหาที่เทียบเท่าน้อยที่สุดหรือไม่? ไม่แนะนำให้ใช้ / ล้างไฟล์เนื่องจากการล็อคปลอม