재삐신생의 권태로운 이야기

  • HOME
  • TAG
  • MEDIA LOG
  • LOCATION LOG
  • GUEST BOOK
  • ADMIN
  • WRITE

2017/04/19 1

Ring buffer(Circular buffer) 고찰

링버퍼 구현체를 찾아보면, 다양한 방법들로 구현이 되어 있다. 이미 하이레벨 언어에서는 기본적으로 지원해주기에, 직접 구현해서 쓸 일을 별로 없는 것 단일 배열로 구현한 형태를 기준으로_HEAD와 _TAIL을 가리키는 포인터 형태가 일반적이다.HEAD는 PUT할 위치를 가르킨다.TAIL은 GET할 위치를 가르킨다.그러면, 내부 멤버변수는 배열, HEAD, TAIL 총 3개, 여기에 SIZE 를 추가하면 총 4개다. 데이터의 크기를 담을 SIZE 변수가 있으면, 비거나, 꽉찬 상태를 체크하기가 쉽다. SIZE변수가 없는 경우는 어떨까?? HEAD와 TAIL로 사이즈를 구하는 것은 불가능 하다. 비었을 경우나, 꽉찬 경우 모두 HEAD == TAIL이 성립하기 때문이다. 이것을 해결한 구현방법은 배열 생성시..

dev 2017.04.19
이전
1
다음
더보기
프로필사진

재삐신생의 권태로운 이야기

it's 2nd revision of ta3ke's blog it's the same name as previous blog

  • 분류 전체보기 (283)
    • stock (2)
      • theme (2)
    • dev (9)
      • linux (44)
      • web (50)
      • game (5)
      • android (8)
      • unity3d (1)
      • php (1)
      • java (5)
      • database (1)
      • review (1)
      • etc (9)
    • life (94)
      • food (3)
      • movie (31)
      • info (60)
    • etc (24)
      • meta (7)
      • private (13)
      • review (3)
    • archive (0)

Tag

티스토리챌린지, Git, 스프링부트, MySQL, 오블완, blazor webapp, 자바스크립트, JavaScript, url param, nginx, IE, 안드로이드, docker-compose, php, centos, ajax, css, html, 재삐신생블로그, 최적화,

최근글과 인기글

  • 최근글
  • 인기글

최근댓글

공지사항

  • 블로그 디자인이 변경되었습니다.

페이스북 트위터 플러그인

  • Facebook
  • Twitter

Archives

Calendar

«   2017/04   »
일 월 화 수 목 금 토
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30

방문자수Total

  • Today :
  • Yesterday :

Copyright © AXZ Corp. All rights reserved.

  • 구글 웹마스터 도구
  • 구글 웹분석 도구
  • :: PLay Rak
  • 흰곰의 IT와 여행이야기
  • 아이돌세기발전
  • 아이리세기발전

티스토리툴바