독점적으로 만 액세스 할 수 있는 두 개의 리소스 (이름 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
아마도이 작업을 수행 할 수 없습니다. 최소한의 동등한 솔루션이 있습니까? 파일을 가짜 잠금으로 사용 / 청소하는 것은 바람직하지 않습니다.