2013-05-19 1 views
2

커먼즈웨어 (CommonsWare) 마스터 서적의 4.7 버전으로 진행하고 있습니다. 나는 튜토리얼 # 12까지이다. 제 질문은 ModelFragmentdeliverModel() 메소드와 관련이 있습니다. 동기화가 된 이유는 무엇입니까?CommonsWare 4.7 turorial # 12에서 ModelFragment.deliverModel()이 동기화되는 이유는 무엇입니까?

내 혼란은 그 방법 (deliverModel())이 이미 UI 스레드에서만 호출되어야한다는 나의 이해에서 비롯된 것입니다. 조각 onActivityCreated()AsyncTaskonPostExecute()에서 호출되었습니다.

는 왜 동기화, 리

+0

개체를 동기화하여 해당 시점에 하나의 스레드 만 데이터로 인해 펑키하게 보이도록합니다. 이 경우 튜토리얼에서이 사실을 알 수있는 기회가 없었습니다. –

답변

2

을 주셔서 감사합니다?

분명히 이유가 없습니다. 나는 한 번에 한 가지 이유가 있었 겠지만, 당신이 맞다는 것을 확신합니다. 그것은 단지 현재 주요 응용 프로그램 스레드에서만 호출됩니다. 앞으로 synchronized 키워드가 삭제 될 예정입니다.

+0

Mark 고맙습니다. 네가 그렇게 말할 수 있기를 바랬다. 그 방법은 어떤 시점에서 동기화 된 방법입니다 refactored 것처럼 보입니다. 나는 그것이 거기에 여분의 '내용 == null'남은 다른 부분에 남아있는 것처럼 보이는 이유라고 가정합니다. 정말 중요하지 않습니다, 그건 작은 감자가 내 문제에 비해 동기화. – Lee