싱글톤 쓰레드 클래스 구현에 사용할만한 패턴이 뭘까요?
글쓴이: jeongheumjo / 작성시간: 화, 2011/03/08 - 8:49오후
싱글톤, 간단한 쓰레드(쓰레드 1개 생성 및 실행) 각각을 클래스로 구현하는 것은 알겠는데요,
싱글톤이면서 간단한 쓰레드를 구현하려면 어떤 패턴을 쓰는게 좋을까요?
너무 간단해서 패턴을 쓰는것은 무리일까요?
지금 생각나는 것은 싱글톤 클래스가 쓰레드 클래스를 상속받아 쓰는 것
아니면 그냥 쓰레드 클래스를 싱글톤으로 만들 수도 있고요,.. 그러나 이 방법은 쓰레드 클래를 재활용하기 어려울 것 같고...
POSA 같은 책을 봐야 할지.. 너무 간단한거라 패턴 쓸 필요 없을까요?
Forums:
음... 저는 singleton 왜 쓰는지 모르겠던데요. ^_^
제가 생각하기에 singleton을 쓰는 이유는 여러가지가 있겠지만 전 가능한 singleton을 쓰지 않는 형태가 좋다고 봅니다. 물론 필요하면 써야겠지만요.
제가 싱글톤을 쓰는 이유는
인스턴스가 두 개 이상 생길 가능성이 차단된다는 것 때문입니다.
너무 당연한 이유죠..
안쓰는게 낳을까요?
저는 싱글톤을 쓰다보니까 지금 생각중인 클래스들의 대부분이 싱글톤을 쓰게 될 것 같기도 하구요.. 너무 과용하는건가 싶기도 합니다.
생각외로 동료들은 똑똑하며 책임감이 있습니다.
가끔은 싱글턴 안하고 1회만 호출해야 한다는 주석만으로도 충분하다고 생각합니다.
생각외로 동료들은 똑똑하며 책임감이 있습니다.
싱글턴으로 안해도 싱글턴 처럼 사용해줄겁니다.
또 규칙을 모르거나 악의적인 동료는 간단한 정규식을 가지는 검색으로 찾아 낼수있습니다.
특정 클래스를 인스턴스화하는 파일 찾기 예제) find src -name "*.java" -exec grep -l "new[[:space:]+]원하는클래스" {} \;
싱글톤 오납용은 안좋지만
그래도 싱글톤? 사용해야 한다면 해야죠. 동료를 믿어야 한다 말아야 한다의 문제가 아니니깐요.
적절하게 사용하시면 됩니다. 말씀하신 이유가
적절하게 사용하시면 됩니다. 말씀하신 이유가 적절하다면 쓰시는것이 좋습니다.
하지만 과용은 금물이겠지요. 딱히 답은 없습니다. "적절히"라는 애매한 말로만
설명이 가능하네요.
하지만 싱글톤을 안쓰셔도 구현이 가능하고 업무의 요구사항을 충족한다면
그렇게 하시라고 권장해 드리고 싶습니다.
-------------------------------------------------------------------------------
It's better to appear stupid and ask question than to be silent and remain stupid.
좋은 쓰레드 클래스 구현을 찾았어요..
인터넷 서핑의 즐거움... 입니다. ^^;
직접 코딩하기 전에 충분한 인터넷 서핑이 필요한 것 같아요... ㅎㅎ
며칠간 구현한 로깅 모듈이 있었는데 그것도 아래 사이트에 더 훌륭한 것이 포스팅 되어있네요. 물론 LGPL 이지만요..
http://yesarang.tistory.com/70
친절한 답변 항상 감사드립니다.
경력이 무려 7년인가(휴직기간 빼고)되는데 C++ 코딩 이제 처음 해봅니다 ^^;
댓글 달기