병렬 작업의 다양한 예
'for' 루프를 사용하여 병렬 작업을 실행하는 다양한 방법이 자습서의 이 부분에 표시됩니다.
예 1: 'For' 루프를 사용하여 병렬 작업 실행
'for' 루프를 사용하는 것이 Bash 스크립트에서 병렬 작업을 수행하는 더 간단한 방법입니다. 다음 스크립트로 'for' 루프를 10000번 실행하고 1000번 반복한 후 숫자를 출력하는 Bash 파일을 만듭니다. 이 작업은 'for' 루프를 사용하여 병렬로 수행됩니다.
#!/빈/배시
#10000에 도달할 때까지 루프 반복
~을 위한 값 ~에 ` 시퀀스 0 1000 10000 ` ;
하다
#1000번째 숫자마다 출력
에코 $값
완료
스크립트를 실행하면 다음 출력이 나타납니다. 출력에 인쇄되는 0에서 10000 사이의 10개의 숫자가 있습니다.
예 2: 중첩된 'For' 루프를 사용하여 병렬 작업 실행
'A'에서 'C'까지의 알파벳 문자와 1에서 3까지의 숫자를 사용하여 일련 번호를 생성하는 중첩된 'for' 루프를 실행하는 다음 스크립트를 사용하여 Bash 파일을 만듭니다. 외부 루프의 첫 번째 반복과 이후 내부 루프 “A1. 코드이그나이터”, “A2. 라라벨”, “A3. CakePHP”가 인쇄됩니다. 외부 루프의 두 번째 반복과 내부 루프의 반복 완료 후 “B1. 오라클”, “B2. MySQL”, “B3. SQL”이 인쇄됩니다. 외부 루프의 세 번째 반복과 내부 루프의 반복 완료 후 “C1. 씨에스에스”, “C2. JQuery”, “C3. JavaScript”가 인쇄됩니다.
#외부 루프~을 위한 알파 ~에 { 교류 }
하다
#내부 루프
~을 위한 숫자 ~에 { 1 .. 삼 }
하다
# 조건에 따라 출력을 출력
만약에 [ $알파 == 'ㅏ' ] ; 그 다음에
배열 목록 = ( '코드이그나이터' '라라벨' '케이크PHP' )
엘리프 [ $알파 == '비' ] ; 그 다음에
배열 목록 = ( '신탁' 'MySQL' 'SQL' )
엘리프 [ $알파 == '씨' ] ; 그 다음에
배열 목록 = ( 'CSS' '제이쿼리' '자바스크립트' )
BE
에코 ' $알파 $번호 . ${arrayList[$number-1]} '
완료
완료
스크립트 실행 후 다음 출력이 나타납니다.
예 3: 'For' 루프 및 'Wait' 명령을 사용하여 병렬 작업 실행
'wait' 명령은 여러 작업이 실행 중일 때 하나의 작업이 작업을 완료하기를 기다리는 데 사용되는 Bash의 매우 유용한 명령입니다. 더 적은 수의 작업이 실행 중인 경우 'wait' 명령은 새 작업을 비동기적으로 시작합니다. 중첩된 'for' 루프 내에서 백그라운드 작업을 실행하는 다음 스크립트를 사용하여 Bash 파일을 만듭니다. 'wait' 명령은 모든 자식 프로세스가 완료될 때까지 기다리는 데 사용됩니다. 'date' 및 'sleep' 명령은 백그라운드 프로세스로 실행됩니다.
#외부 루프~을 위한 나 ~에 { 1 .. 2 }
하다
#내부 루프
~을 위한 제이 ~에 { 1 .. 삼 }
하다
만약에 시험 ' $(작업 | wc -l) ' -ge 2 ; 그 다음에
기다리다 -N
BE
#백그라운드 프로세스
{
날짜
잠 1
} &
완료
완료
스크립트를 실행하면 다음 출력이 나타납니다. 현재 날짜와 시간은 중첩된 'for' 루프를 2×3=6번 반복하기 위해 백그라운드 프로세스에서 6번 인쇄됩니다.
예 4: 순차 실행과 병렬 실행의 차이점
순차 실행과 병렬 실행의 차이점을 보여주는 다음 스크립트를 사용하여 Bash 파일을 만듭니다. prn_char() 함수는 0.5초 동안 5개의 문자를 인쇄하도록 스크립트에 정의되어 있습니다. 다음으로 첫 번째 'for' 루프는 prn_char() 함수를 순차적으로 실행하는 데 사용됩니다. 두 번째 'for' 루프는 prn_char() 함수를 병렬로 실행하는 데 사용됩니다.
#0.5초 동안 5자를 출력하는 함수 정의prn_char ( ) {
~을 위한 씨 ~에 안녕하세요; 하다
잠 0.5 ;
에코 -N $c ;
완료
에코
}
# for 루프를 사용하여 함수를 순차적으로 실행
~을 위한 밖으로 ~에 { 1 .. 삼 } ; 하다
prn_char ' $아웃 '
완료
# for 루프를 사용하여 함수를 병렬로 실행
~을 위한 밖으로 ~에 { 1 .. 삼 } ; 하다
prn_char ' $아웃 ' &
완료
스크립트를 실행하면 다음 출력이 나타납니다. 순차 실행과 병렬 실행의 차이가 출력에 표시됩니다. 여기에서 prn_char() 함수의 'for' 루프의 모든 문자는 순차 실행에서 한 번에 인쇄되고 각 문자는 병렬 실행에서 세 번 인쇄됩니다.
결론
'for' 루프를 사용하여 병렬 작업을 실행하는 것은 많은 프로그래밍 목적에 필요합니다. 'for' 루프를 사용하여 병렬 작업을 실행하는 방법은 이 자습서에 나와 있습니다.