하악...오랜만에 OOP 관련 포스팅이라능.
오브젝트 풀은 어떤 객체를 생성하는데 자원이 굉장히 많이 필요하거나, 한정된 수의 인스턴스만 사용할 수 있을때 이넘들을 컬랙션에 집어넣고 관리할 수 있도록 해주는 패턴이라능. 물론 한번 만들어놓은 인스턴스를 계속 사용한다능
Socket, DB connection 등에 많이 쓴다는데...난 저런거랑은 별로 친하지가 않아서 잘 모르겠고....식당에있는 테이블을 생각해보면 된다능. 식당에는 딱 한정된 수의 자리만있는데 손님이 오면 빈자리를 내어준다능. 자리가 업ㅂ으면 빈자리가 생길 때 까지 기둘렸다 손님한태 자리를 내어주는데, 이 경우에 식당은 일종의 오브젝트 풀로 의자를 관리하구 있는거심.
자질구래한 얘기는 대충 끝내고 허접하지만 일단 코드를 보자능.
풀에 담을 수 있는 인스턴스의 총 수를 결정할 수 있구 풀이 꽉찼을경우 대기 시간을 초단위로 설정할 수 있게 되있심. 풀에서 객체를 꺼내주기 직전에 유효성검증을 수행하고 실패할경우 뭉게버리고 다시 만들어 주도록 되있다능. 식당으로 비유하면 더러운 테이블을 깔끔히 닦아내고 손님한태 내어주는거랑 비슷하다고 보면 되겠심. 물론 하기 싫으면 안해도 된다능. >_<
테스트 코드라능
풀의 크기는 9로 했고 대기시간은 5초로 했다능(0으로 넣어도 되심). 시작하자마나 풀을 꽉채우고 스레드 th1에서 다시 한개를 더 요청한다능. 풀에서 꺼내줄깨 업ㅂ으니까 대기시간 5초동안 대기하게 되는데 스레드 th2에서 2초있다가 5개를 반환에 준다능. 실행시켜보면 쪼금 기둘리다가 마지막 한줄을 찍고 끝날꺼라능
오브젝트 풀은 어떤 객체를 생성하는데 자원이 굉장히 많이 필요하거나, 한정된 수의 인스턴스만 사용할 수 있을때 이넘들을 컬랙션에 집어넣고 관리할 수 있도록 해주는 패턴이라능. 물론 한번 만들어놓은 인스턴스를 계속 사용한다능
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 |

댓글을 달아 주세요
쩝 아직 풀을 사용할 정도의 리소스가 필요한 작업은 해 본적이 없어서 나는 듣보잡인듯 ㅠㅜ
나도 해본적 업ㅂ다능
님 이 블로그에서 공돌이 냄새가 심하게 나는데여
공돌이 블로그니까 당연한걸 뭘 새삼스럽게...
헐 검색하다 떴는데 아는넘 블로그니 신기하넹 'ㅅ'
님 누구임?
비밀댓글입니다
[] []
[-_-] 으잌ㅋㅋㅋㅋ
이쉐키 ㅋㅋㅋㅋ
요즘 어떻게 지내고 계심? 온라인으로도 가끔씩 (오)덕담 좀 나누고 지내자능....아 위에 댓글달아놓은 잼아줌마가 석궁임.
덕후가 아니라서..'ㅅ';