Varsayalım 0
ve 1
yalnı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ğı 0
ve 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, xargs
muhtemelen bunu yapamaz. Minimum eşdeğer bir çözüm var mı? Dosyaları sahte kilit olarak kullanmak / temizlemek tercih edilmez.