안녕하세요. 이번 시간에는 ConcurrentHashMap을 간단하게 보도록 하겠습니다. 이 글에서는 왜 이 친구를 쓸까? 정도만 보아도 되지 않을까 싶어요. 먼저 Collections의 SynchronizedMap는 이 글에서도 개략적인 구조를 설명해 드린 적이 있습니다. 간단하게 다시 보도록 하겠습니다. 먼저, mutex라는 잠금용으로 쓸 객체를 하나 둡니다. 다음에 실제 map을 하나 두는데요. 여기서 mutex는 언제 쓸까요? map에 접근할 때 동기화 용으로 쓰게 됩니다. get 메서드를 봐도 mutex에 synchronized를 걸어놓았어요. 그리고 put 메서드를 호출할 때에도 mutex에 synchronized를 걸어놓았어요. 그런데, Hash 기반에서의 자료 구조를 잘 생각해 봅시다. 얘..
병렬성 검색 결과
해당 글 2건
왜 concurrenthashmap을 쓰는지 간단하게 알아봅시다.
OS/이론
2021. 12. 5. 01:01
동시성 vs 병렬성 : 간단하게 짚고 넘어갑시다.
동시성과 병렬성은 차이가 조금 있어요. 오늘은 이 둘의 차이에 대해서 간단하게만 설명하고 넘어가도록 하겠습니다. 코어가 2개, 쓰레드가 2개 있는 cpu를 생각해 봅시다. 즉 HT가 적용이 되지 않은 cpu가 있다고 생각해 봅시다. 여기서 core를 '물건을 생산하는 기계' 정도로 생각합시다. 그것들은 1분에 하나씩 인형을 생산한다고 합시다. 그러면 코어가 1개 있으면 1분에 하나씩만 생산을 할 겁니다. 그런데 2개 있으면 1분에 2개, 3개가 있으면 1분에 3개씩 생산할 거에요. 이는 '인형을 만드는 일'을 기계가 병렬적으로 처리해서 가능한 것입니다. 그러면 경우에 따라서는, 어떠한 특정한 시점에, run 상태가 둘인 경우도 있을 거에요. 그러면 동시성은 무엇일까요? 동시성 하면, 항상 나오는 키워드가..
OS/이론
2019. 8. 18. 19:01
최근댓글