HashMap vs Hashtable
큰힘
검색을 하던중에 아래 내용에 관해서 궁금한 것이 있어서 질문드립니다.
HashMapno가장 빠른 매핑. HashtableyesHashMap 보다 느리지만 동기화한 HashMap 보다 빠르다. TreeMapnoHashtable 과 HashMap 보다 느리다. 차례대로 키를 사용할 수 있다. (키가 정렬됨)
Hashtable 내용 중에 동기화한 HashMap보다 빠르다라고 나와있는데요.
여기서 말하는 동기화란 어떤 것인가요??
동기화라는게 이해하기가 좀 어려운듯..
저는요 ㅎㅎ
-
나봄
와우.. 버섯수다님은 정말 모르시는게 없으신듯^^;;
자바를 만드신분이신가요?? ㅎㅎ
아.. 나도 잘하고 싶다 ㅠㅜ -
민구
흠.. HashMap의 경우 기본적으로 스레드를 고려하지 않았기때문에 동기화 로직 자체가 없습니다.
따라서, 두 개 이상의 스레드에서 실행시에는 데이터가 깨질 수 밖에 없겠죠.
이를 동기화 시키려면..
조금까칠한남자님께서 직접 외부에서 동기화를 시켜 주시거나..
아니면 찬님이 덧 글 단 것처럼 해주시면 HashMap 안에서(?) 동기화가 진행됩니다.
관심을 갖는 부분이 동기화의 주체인 듯 싶으신데..
쉽게 보시면...
HashMap 자체에는 동기화가 -
뽀송뽀송
일단 답변 감사드립니다. 버섯수다님 글을 읽고 보니 제가 동기화를 잘못 이해한것 같습니다. 잠깐 다시 공부 좀 하고 돌아올게요 ㅎㅎ
-
미리별
HashMap 보다 느리지만 동기화한 HashMap 보다 빠르다.
라는 부분은...
창구가 1개뿐이 없는 HashMap과 비교해 보자면...
HashTable의 경우 창구는 똑같이 1개라고 해도...
고객이 요청하는 요청을 처리하는 단계가 적어서
HashMap보다는 조금 더 빨리 처리된다는 의미입니다.
뭐... 동기화된 HashMap이 고객의 요청을 받아서 상사 3명에게 보고한뒤
상사로부터 결과를 받아서 고객에게 통보 해야 한다고 가정하면
Has -
나로
흠..
단지 HashMap에 동기화가 된다면 어떻게 되는지^^ 뭐 이런게 궁금한거죠^^ㅎㅎ
라는 글로 봐서는... 동기화를 잘 모르시는 듯--;;;
즉, HashMap은 기본적으로 멀티쓰레드를 기반으로 하지 않는 다는 이야기입니다.
동기화를 알고 계신다니 굳이 설명은 필요 없겠지만..
은행으로 설명하자면 HashMap은 기본적으로 멀티쓰레드를 고려하지 않기때문에
접수 창구가 10개있는 은행이 있을경우 HashMap은 10개의 창구중
어느 창 -
이뻐
찬님 답변 감사드립니다.^^
동기화라는 것을 제대로 설명할 수 있을 정도로 알지는 못하지만^^
무엇인지는 알고 있습니다^^
단지 HashMap에 동기화가 된다면 어떻게 되는지^^ 뭐 이런게 궁금한거죠^^ㅎㅎ
좋은 밤 되세요^^ -
이뻐
만약 \동기화\자체를 잘 모르신다면
synchronize 관련쪽 강좌를 찾아 보세요~ ㅎ -
풋내
동기화한 HashMap이란..
HashMap syncHashMap = Collections.synchronizedMap(new HashMap());
을 이야기 하는것이지 않을까요?
잘 몰라요~ ㅎㅎ
참고로 위와 같이 하면,
HashMap에 작업을 하는 모든 메소드의 호출이 synchronized block안에 들어가게 됩니다.
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2696964 | img 태그 질문드려요 (9) | 연블루 | 2025-06-03 |
2696907 | [질문] 올플래시 메뉴 고정할수 있는[수정] (4) | 맨삶이 | 2025-06-03 |
2696875 | 책구입 후 따라하다가 ShortCode Ultimate 오류 | 가지등 | 2025-06-02 |
2696844 | css 마우스 오버시 display:block되는 영역 질문드립니다 ㅠㅠ (2) | 갅쥐누뉨 | 2025-06-02 |
2696816 | 엉엉엉...영상이 올라타네요 (5) | 다은 | 2025-06-02 |
2696792 | Doctype 문의 | 떠나간그녀 | 2025-06-02 |
2696683 | 컴파일된 클립 질문 드립니다. | 흰추위 | 2025-06-01 |
2696656 | C질문요 (4) | 블랙캣 | 2025-05-31 |
2696504 | 플래시 위에 div 올리기 (5) | 큰꽃늘 | 2025-05-30 |
2696458 | 제가 만든 소스 한번 봐주시고 수정 할 꺼 있으면 말해주세요. (실행은 되지만 깜빡거리네요) | 이플 | 2025-05-29 |
2696434 | 퍼센트 레이아웃 질문인데요.. | 나츠 | 2025-05-29 |
2696372 | %=open_main%, %=open_sub% 가 뭘까요? (9) | 행복녀 | 2025-05-29 |
2696347 | 콘솔 프로그램 질문 | 상큼한캔디 | 2025-05-28 |
2696320 | c언어 scanf 함수를 이요해 문자열 입력 받을 시 질문 있습니다. | 슬아라 | 2025-05-28 |
2696292 | 익스플로러9이상에서만 이상한 보더가 보이는데 삭제할수 있나요? | 망고 | 2025-05-28 |
2696263 | 프로그래밍 공부시작 질문 (6) | 진이 | 2025-05-28 |
2696206 | SK2의 플래시를 밴치마킹하려고하는데요.. (1) | 비내리던날 | 2025-05-27 |
2696179 | ie7에서 사라지지가 않네요. (2) | 빛길 | 2025-05-27 |
2696150 | div에 스크롤 생기게 하려면... (2) | 에드가 | 2025-05-27 |
2696123 | 자료구조론 공부중인데 | 김자영 | 2025-05-26 |