하루 1개 이상 면접 질문
면접질문148일차(동기화)
멈추지않아
2022. 6. 25. 15:27
0625동기화
자바에서 동기화는 synchronized를 이용한다. 즉 한 개의 자원을 이용할 때 한 번에 한 스레드에서만 사용할 수 있게 하는 것이다. 만약 동기화가 없다면 내가 데이터를 수정하는 중에 다른 곳에서 데이터를 가져가서 사용하게 되면 오류가 생기게 된다. 이러한 것들을 막기 위해 한 개의 자원은 한 명이 사용하고 나서 다른 곳에서 사용하게 하는 것 입니다.. 자바는 이를 syncronized라는 것으로 사용한다. 함수에 syncronized를 붙여주거나 block으로 만들어서 사용한다. 즉 syncronized 대상이 되는 것은 한 스레드만 접근할 수 있게 하고 나머지는 기다리게 합니다. 일반적으로 클래스를 기준으로 잠기게 되므로 여러 사람이 한 번에 같은 클래스에 접근하는 것을 막을 수 있습니다. 예를 들어 DAO 에서 동기화를 사용하면 한 번에 한 명만이 데이터베이스 조작을 할 수 있게 할 수 있습니다.