'Object Pool'에 해당되는 글 1

  1. 2009/03/08 Object Pool (11)
 

Object Pool

객체지향 프로그래밍/디자인 페턴 | 2009/03/08 21:44 | Posted by DMW
크리에이티브 커먼즈 라이선스
Creative Commons License
하악...오랜만에 OOP 관련 포스팅이라능.

오브젝트 풀은 어떤 객체를 생성하는데 자원이 굉장히 많이 필요하거나, 한정된 수의 인스턴스만 사용할 수 있을때 이넘들을 컬랙션에 집어넣고 관리할 수 있도록 해주는 패턴이라능. 물론 한번 만들어놓은 인스턴스를 계속 사용한다능

Socket, DB connection 등에 많이 쓴다는데...난 저런거랑은 별로 친하지가 않아서 잘 모르겠고....식당에있는 테이블을 생각해보면 된다능. 식당에는 딱 한정된 수의 자리만있는데 손님이 오면 빈자리를 내어준다능. 자리가 업ㅂ으면 빈자리가 생길 때 까지 기둘렸다 손님한태 자리를 내어주는데, 이 경우에 식당은 일종의 오브젝트 풀로 의자를 관리하구 있는거심.

자질구래한 얘기는 대충 끝내고 허접하지만 일단 코드를 보자능.

더보기



 풀에 담을 수 있는 인스턴스의 총 수를 결정할 수 있구 풀이 꽉찼을경우 대기 시간을 초단위로 설정할 수 있게 되있심. 풀에서 객체를 꺼내주기 직전에 유효성검증을 수행하고 실패할경우 뭉게버리고 다시 만들어 주도록 되있다능. 식당으로 비유하면 더러운 테이블을 깔끔히 닦아내고 손님한태 내어주는거랑 비슷하다고 보면 되겠심. 물론 하기 싫으면 안해도 된다능. >_<


테스트 코드라능

더보기



 풀의 크기는 9로 했고 대기시간은 5초로 했다능(0으로 넣어도 되심). 시작하자마나 풀을 꽉채우고 스레드 th1에서 다시 한개를 더 요청한다능. 풀에서 꺼내줄깨 업ㅂ으니까 대기시간 5초동안 대기하게 되는데 스레드 th2에서 2초있다가 5개를 반환에 준다능.  실행시켜보면 쪼금 기둘리다가 마지막 한줄을 찍고 끝날꺼라능
저작자 표시 비영리 동일 조건 변경 허락

'객체지향 프로그래밍 > 디자인 페턴' 카테고리의 다른 글

ruby EventDispatcher  (0) 2011/11/06
Thread Pool  (6) 2009/04/10
Object Pool  (11) 2009/03/08
MVC(Model-View-Controller) 디자인 패턴에 대한 좋은 아티클들  (5) 2008/08/08

댓글을 달아 주세요

  1. Favicon of http://eufonius.tistory.com BlogIcon prismatic 2009/03/09 05:22  댓글주소  수정/삭제  댓글쓰기

    쩝 아직 풀을 사용할 정도의 리소스가 필요한 작업은 해 본적이 없어서 나는 듣보잡인듯 ㅠㅜ

  2. Favicon of http://weisswine.egloos.com BlogIcon 잼아줌마 2009/03/09 10:06  댓글주소  수정/삭제  댓글쓰기

    님 이 블로그에서 공돌이 냄새가 심하게 나는데여

  3. -_- 2011/05/13 12:31  댓글주소  수정/삭제  댓글쓰기

    헐 검색하다 떴는데 아는넘 블로그니 신기하넹 'ㅅ'

  4. -_- 2011/05/13 18:26  댓글주소  수정/삭제  댓글쓰기

    덕후가 아니라서..'ㅅ';