Loop()문과 Polling

·2023년 12월 21일
post-thumbnail

PR 받기 전 내 코드

while(true) {
	val cnt = 'DB update 작업'
   	if (cnt == 0) break
}

팀원분의 피드백 🗣️

Polling 방식을 사용하는 loop문 에서는 적당한 delay를 두는 것이 좋다. 왜냐하면 무한루프를 delay없이 돌게 된다면 cpu의 점유율이 높아지게 될 것이며..

그래서 알아보게 되었다.

  • Polling의 개념
  • 2. Polling과 loop()의 연관성
  • 3. Polling의 특징
  • Polling과 Long Polling (나중에...차차..)

Polling의 특징

  1. 입출력(I/O) 측면에서 가장 자주 사용되며...
  2. Polling의 주기가 짧으면 서버의 성능에 부담이 간다. 🔜 (이유 : Polling은 일정 주기로 서버에게 필요한 데이터를 요청하는 방식이기에)
  3. 주기가 길면 실시간성이 떨어진다.
  4. 서버는 클라이언트 요청을 받으면 현재 상태를 확인하고 새로운 데이터가 있는 판별한다.

Polling과 loop가 서로 관련이 있다 ⁉️

하나의 프로그램이 동기화 처리 등을 목적으로 다른 장치의 상태를 주기적으로 검사하여 일정한 조건을 만족할 때 송수신 등의 자료처리를 하는 방식

Polling loops are used in a variety of applications, including monitoring user input, waiting for events, and checking the status of devices.

결론

폴링 루프에서 프로그램은 특정 조건이 충족될 때까지 사용자 입력이나 장치 상태와 같은 리소스 상태를 반복적으로 확인합니다. 이 확인 프로세스를 "폴링"이라고 합니다.

폴링 루프는 조건이 발생할 때까지 기다리는 간단하고 직접적인 방법이지만 비효율적일 수 있고 처리 능력을 많이 소모할 수도 있습니다.

수정한 내 코드

do {
	val cnt = `DB Update 작업`
} while(withdreweCnt == 0)
profile
코틀린 & 스프링 개발자

0개의 댓글