[컴][안드로이드] Thread pool 과 hashmap 자료


Thread Pool 과 HashMap 자료들

ThreadPool

자바 API를 이용한 쓰레드풀 생성 샘플소스. Executors.newFixedThreadPool() 이용

  • newFiexedThreadPool(number)

를 이용해서 일정개수의 thread 를 갖는 thread pool 을 생성할 수 있다.

HashMap

SynchronizedMap을 통한 thread-safe HashMap 구현
synchronized vs lock vs synchronized map, StackOverflow
hash map 은 thread-safe 하지 않다. 이것을 Collections.synchronizedMap(Map object) 을 이용해서 thread-safe 하게 만들 수 있다. 간단한 operation 에서는 괜찮지만, iterator 를 이용할 때는 synchonized 를 추가로 사용해야 한다.

Java synchronized block vs. Collections.synchronizedMap
syncronizedMap 은 map 에 대한 operation 만 을 atomic 하게 해준다. 그러므로 여러개의 map operation 들에게 hppens-before relation 을 만들려면(syncronize 하려면) synronized block 이 필요하다. link 에서 example 을 볼 수 있다.

Implementation of java.util.Map 의 보이지 않는 위험
에서 synchronized 가 되지 않을 때 발생되는 문제에 대해 설명하고 있다.

자바 Collection API
자바가 갖고 있는 collections 들 종류와 속도에 대한 이야기를 간략하게 정리해주고 있다.

메모리 유출과 약한 참조
약한 참조(weak reference) 에 대한 이야기와 WeakHashMap() 에 대한 이야기가 있다.

LinkedHashMap
순서를 기억하는 hashmap 이어서 linked hashmap 인듯 하다.


댓글 없음:

댓글 쓰기