Written by
im jin hyeon
on
on
동기화 자료구조 테스트2
스레드 4개를 생성후
자료구조를 바꿔가며 정수 10000개를 add,get
각 스레드들이 연산을 하는데 걸리는시간과
모든스레드가 작업을 완수할때까지의 시간을측정
여러번 실행해서 제일 평균에 가까운값
1.일반 arraylist

2.arraylist 동기화블럭
add를 부르는 method를 동기화처리.
–현재 안드로이드에서 보이는코드
–collection.synchronizedarraylist 는 read작업에도 lock이 걸려서 안쓰는듯함

read는 동기화를 걸지않아서 1번 결과와 다를게없음.
대신에 size를 매번 연산해보기로함

10000개의 원소인데 성능차이가 그렇게 많이안남
3.copyonarraylist


쓰기는 매우느리고
읽기는 멀티스레드 환경에서는 확실히 이점이있음
2번이 일반적인 상황에서 제일 합리적으로보임
copyonarraylist 를 사용하려면 데이터의 갯수가 적지않고
읽기가 많고 매우 정적인 데이터와 관련된 배열을 찾아야 장점을 살릴수있을듯함