@ Jinpeng sadece uygulamada değil, GNU Parallel ile doğru yoldaydı .
Örnek: Programınızın 10 paralel örneğini çalıştırın, her iş parçacığı yalnızca bir kez programınızı çalıştırıyorsa:
parallel -j10 './myprog argument1 argument2 #' ::: {1..10}
Örnek: 10 paralel iş parçacığı çalıştırın.
parallel -j10 'while true ; do ./myprog argument1 argument2 ; done #' ::: {1..10}
10
Örneklerimin yerini alarak bunu kolayca yüzlerce iş parçacığına ölçeklendirebilirsiniz .
parallel -j200 ... ::: {1..200}
Programınız herhangi bir stdout mesajı üretiyorsa ve onları üretilirken görmek istiyorsanız (bunları harmanlayan varsayılan yerine), --ungroup
paralel seçeneği yararlı olabilir.
parallel --ungroup ...
İş istasyonunuzdan çok fazla iş parçacığı kullanıyorsanız ve işlerin tepkisizleşmesini istemiyorsanız nice
, tüm işlem alt ağacını başlatma zamanında kullanmayı düşünün .
nice -n19 parallel ...
: Yan not, GNU Paralel böylece herhangi bir diğer paket gibi kurun genellikle varsayılan olarak yüklenmez ancak normal paket depolarındakii genellikle edilir dnf install parallel
, apt-get install parallel
, brew install parallel
vb
myprog
örneklerin ortaya çıkmasına neden olan ve sizin için çıktılarını toplayan bir programın olması daha iyidir .