스레딩을 사용하면 같은 서버나 다른 서버에서 단계를 병렬로 실행할 수 있습니다.
스레딩은 단계의 스레드 특성 설정으로 제어합니다.
기본적으로, 스레드 특성은 아니오로 설정됩니다. 스레딩은 서로 독립하여 실행될 수 있는
프로젝트의 부분이 있는 경우 프로젝트 실행 시간을 단축하는 데 도움이 됩니다.
여러 인접 단계의 스레드 특성이 예로 설정된 경우, 시스템은 단계를 병렬로 실행하려고 시도합니다.
이러한 단계는 스레드 사용으로 간주되며, 나머지 작업이 계속되는 동안
각 단계를 별도로 실행할 수 있습니다. 스레딩은 다음 규칙을 준수합니다.
- 스레딩이 발생하려면 차례로
최소 두 단계의 스레드 특성이 예로 설정되어야 합니다. 차례로 스레드된
단계 세트는 스레드 블록이라고 부릅니다. 스레드 블록은 인라인에 속하는 단계로
계속할 수 있습니다. 예를 들어, 프로젝트의 한 단계에 인라인이 있고 인라인의 첫 번째 단계도
스레드되는 경우, 두 단계는 동일한 스레드 블록에 속합니다.
이들은 동시에 실행됩니다. 스레드 블록은 결합 단계 또는 스레드되지 않은 단계가
발생할 때까지 중첩 인라인 단계를 포함하여 스레드된 단계를 따릅니다.
중첩 인라인 단계를 사용하는 경우
경쟁 조건이 발생하지 않도록 주의하십시오. 경쟁 조건은 스레드된 상위 단계의 결과 또는 데이터에 따라
인라인된 스레드 단계에서 발생할 수 있습니다.
- 스레드 블록은 스레드 특성이 결합으로
설정된 단계에 의해 또는 스레드되지 않은 단계가 발생할 때
종료됩니다. 해당 위치에서 단계가 순차적으로 실행됩니다.
- 시스템은 스레드 사용 단계를 발견하면 단계를 시작하려고 시도합니다. 다음 단계도
스레드된 경우, 시스템은 해당 단계를 시작하려고 시도하고 다음 단계를 계속하며,
스레드 가능 단계가 더 이상 없을 때까지 또는 작업 한계에 도달할 때까지 반복합니다.
프로젝트의 선택기가 서버 풀을 지정하는 경우, 작업 한계는 개념적으로 풀에서
서버의 작업 한계의 합계입니다.
참고: 스레드된 단계의 시작 시간은 실행하기로 되어 있는 서버의 사용가능성에 따라 다릅니다.
단계를 시작할 수 없는 경우, 시스템은 기다렸다가 다시 시도합니다.
먼저 시작되는 단계를 명시적으로 제어할 수 없습니다.
- 단계는 한 서버에서(해당 서버의 용량에 따라) 또는
여러 서버에서(선택기와 일치하는 서버 수에 따라) 동시에 실행되어 종료될 수 있습니다.
- 단일 서버에서 모든 단계를 강제 실행하려면 프로젝트의 고정 특성을
사용하십시오.
- 여러 스레드 블록이 있는 경우, 첫 번째 스레드 블록은 다음 스레드 블록이 시작되기
전에 완료되어야 합니다.
다음 예제에서는 단계 2, 3 및 4를 완료해야
단계 5와 6을 시작할 수 있습니다.
프로젝트 |
단계의 스레드 특성 |
단계 1 |
아니오 |
단계 2 |
예 |
단계 3 |
예 |
단계 4 |
결합 |
단계 5 |
예 |
단계 6 |
예 |
단계 7 |
아니오 |
- 프로젝트에 최대 스레드 특성을 사용하여 동시에
실행될 수 있는 스레드 수를 제한하십시오.
각 스레드 가능 단계 및 해당 인라인 프로젝트(존재하는 경우)는 병렬 프로세스가 발생할 수 있습니다.
모든 프로세스는 상위 프로젝트의 최대값에 도달할 때까지 계수됩니다. 시스템은
최대 스레드 값에 도달하면 새 병렬 프로세스 실행을 중지합니다.
프로젝트의 병렬 프로세스 수가 값 아래로
떨어질 때까지 기다렸다가 계속합니다. 프로젝트의 병렬 프로세스 수가
최대 스레드 값 아래로 떨어질 때까지 기다렸다가 계속합니다.