Synchronized로 검색한 결과 :: 시소커뮤니티[SSISO Community]
 
SSISO 카페 SSISO Source SSISO 구직 SSISO 쇼핑몰 SSISO 맛집
추천검색어 : JUnit   Log4j   ajax   spring   struts   struts-config.xml   Synchronized   책정보   Ajax 마스터하기   우측부분

회원가입 I 비밀번호 찾기


SSISO Community검색
SSISO Community메뉴
[카페목록보기]
[블로그등록하기]  
[블로그리스트]  
SSISO Community카페
블로그 카테고리
정치 경제
문화 칼럼
비디오게임 스포츠
핫이슈 TV
포토 온라인게임
PC게임 에뮬게임
라이프 사람들
유머 만화애니
방송 1
1 1
1 1
1 1
1 1
1

Synchronized로 검색한 결과
등록일:2008-03-06 09:29:05
작성자:
제목:collection에서의 동기화 방법


collection에서의  동기화  방법이  있다고  들었는데..

  

예를  들어  ArrayList에서는

List  AccountList  =  Collections.SynchronizedList(new  ArrayList());

이렇게  하라고  들었는데  단순히  이렇게  하면  해당  리스트에  대해  동기화가  되는지  궁금합니다...

그런데  자바  API문서를  보면

  Synchronized(list)  {
            Iterator  i  =  list.iterator();  //  Must  be  in  Synchronized  block
            while  (i.hasNext())
                    foo(i.next());
    }
이부분도  있는데...동기화  하는데  어떤  기능을  하는지  알고  싶습니다..

제가  보기에는  단순히  블럭안에만  동기화  시키는거  같은데요...

  

그리고  간단히  ArrayList에대해  동기화  예제좀  만들어  주세요..


-----------------------------------------------------------------------------------------

Collections의  SynchronizedList메서드는

받은  List  객체가  instanceof  RandomAccess  일  때

SynchronizedRandomAccessList  객체로  변환해서  반환하고

아닐  때는  SynchronizedList객체로  변환해서  반환합니다.

  

SynchronizedRandomAccessList  나  SynchronizedList

SynchronizedList를  상속하는  클래스인데

SynchronizedList는  SynchronizedCollection를  상속하는  클래스입니다.

SynchronizedList는  생성시  부모인  SynchronizedCollection의  생성자를  호출하고

이  생성자는  mutax  =  this;라는  코드를  담고  있습니다.

mutax는  Object형  변수입니다.

  

이걸  말씀  드리는  이유는

SynchronizedList  클래스의

모든  메서드가  mutax를  통해

동기화되기  때문입니다.

  

자세히는  잘  모르겠으나  제  생각에  API  문서에  나오기를

"SynchronizedList메서드로  부터  반환된  객체를  iterating  할  때는

좋게  말로할  때  니가  직접  동기화해야된다."(완역  ^^;)

라고  하는  것을  보면  iterator와  관련된  부분에  한해서

동기화가  따로  필요한  것으로  보입니다.

  

결론적으로,

Collections.SynchronizedList메서드의  인수로  넣은  List

동기화된  List가  되어  반환되는데

그  List를  iterating  할  때만

따로  사용자가  동기화를  해주어야  한다~  라는  것으로  보입니다.

출처  :  http://kin.naver.com/detail/detail.php?d1id=1&dir_id=10106&eid=CcNaEq3hw3stAKDGHqyJKYWVYQErZPkn&qb=wNq52SBjb2xsZWN0aW9u