Varsayalım 0ve 1yalnızca özel olarak erişilebilen iki kaynağım var .
xargsÜcretsiz bir karşılıklı dışlama hizmeti olarak kullanmak için başlatılan "paralel işlemci" nin "dizinini" kurtarmanın herhangi bir yolu var mı ? Örneğin, aşağıdaki paralel hesaplamayı göz önünde bulundurun:
$ 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
Sorum şu ki index, çıktının nereye benzeyeceği sihirli bir kelime var mı
$ 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
tek garanti, kaynağı 0ve aynısını kullanan en fazla bir işlemin olmasıdır 1. Temel olarak, bu endeksi sadece kendisine anlatılan kaynağı kullanmak için kurala saygı duyacak olan alt sürece iletmek istiyorum.
Elbette, bunu ikiden fazla kaynağa yaymak tercih edilir. Belgeleri incelemek, xargsmuhtemelen bunu yapamaz. Minimum eşdeğer bir çözüm var mı? Dosyaları sahte kilit olarak kullanmak / temizlemek tercih edilmez.