데이터 작업 갯수 정하기
- 일정 횟수를 작업하고자 할 때 여러개의 프로그램을 동시에 작업하는 환경
- 이러한 환경에서 정확한 작업의 수를 체크하고자 한다면 어떻게 해야할까?
문제점
1) 완료되었을 때만 카운트한다
=> 동시에 작업 중인 다른 작업들이 완료되었을 때 초과 작업이 발생한다.
2) 가져갔을 때 +1을 하고 실패하면 -1을 카운팅하게 한다
=> 프로그램이 중간에 오류가 나거나 통신 상의 오류로 마이너스 카운트를 실패한다면 오류가 발생한다.
3) 2번의 방법을 참고하여 작업을 가져갔을 때 임시 작업수를 +1 시키고 실제 완료 시 완료 횟수를 카운팅한다.
그리고 마지막 작업이 완료되었을 때 실제 작업 완료 수로 변경한다.
=> 마지막 작업이 실패 시에 결과 반영에 대한 문제가 발생한다.
=> 하지만 2번에 비하여 훨씬 오류 확률이 낮다.
4) 3번의 방법을 쓰되 완료 시에 전체 리스트를 확인하여 마지막 작업 이후 일정 시간이 지난 리스트들 가져와서 임시 작업수를 실제 완료 수로 변경
=> 작업의 갯수가 너무 많으면 문제가 될 수 있으니 완료된 작업은 별도의 테이블로 관리하기.
'서버개발자 역량 > 알고리즘' 카테고리의 다른 글
알고리즘 ] 정렬(Merge Sort) (0) | 2020.01.03 |
---|---|
알고리즘 ] 정렬(Bubble Sort) (0) | 2020.01.02 |
알고리즘 ] BFS 알고리즘 (백준 1926 - 그림 문제) (0) | 2019.12.12 |
알고리즘 ] 백준 10799번 - 쇠막대기 (0) | 2019.12.10 |
알고리즘 ] 백준 9012번 - 괄호 (0) | 2019.12.09 |