1. 개요
자바스크립트로 Queue를 구현하고 Queue를 이용하여 Customer에 대한 time과 number요소들 을 출력한다.
2. Code에 대한 설명
전체 서비스의 시간을 관장하는 Clock을 선언하고 이는 전체 시간을 담당한다.
Server가 가지는 service_time은 Server가 Customer에게 할당하는 시간이고 이를 0으로 초기화 한다. 각 경우 모두 유의미한 값을 도출해 내기 위해 초기 값들을 조정할 필요가 있다. 따라서duration = 100, arrival_prob = 0.5, max_serv_time = 4로 설정했다.
If( is_customer_arrived())에서 0.5보다 작을 경우 Customer가 입장한 것으로 보고insert_customer 함수를 통해 enqueuer(큐를 삽입)한다. 이때 random함수를 이용하여 고객의service_time이 임의 배정되고 고객의 id, 도착시간, 서비스시간을 출력한다.
선입선출의 개념인 Queue이므로 먼저 들어온 고객부터 Server에 배정을 하며 Server가Customer를 받고 있을 때 들어오는 Customer는 대기하며 Server가 Customer를 받고 있을 경우service_time이 전체 Clock에 반대하여 줄어들고 service_time이 0일 경우 remove_customer()를 실행한다. 대기 시간은 전체 시간에서 도착시간을 뺀 시간에 더하여 표현한다. 그리고dequeuer(큐를 삭제)하여 Customer의 서비스를 끝내고 삭제한다 그 후 각 변수들을 return하고 각 요소들을 출력한다.
3. Code
4. 결과
'코딩스터디' 카테고리의 다른 글
최대공약수와 유클리드 호제법 (0) | 2019.09.20 |
---|---|
[JavaScript] C->JS/ Queue 서버가 3명일 때 (0) | 2019.09.09 |
[JavaScript] C->JS/JS로 스택 구현 / 미로찾기 (0) | 2019.09.09 |
Queue를 이용한 미용사 서비스와 고객관리 (0) | 2019.09.09 |
stack구현/ stack 이용한 미로찾기 만들기 (2) | 2019.09.09 |