어떤 프로그램이 있다.


이 프로그램은 1초마다 데이터를 수신하는 통신스레드와 10초마다 데이터를 저장하는 저장스레드로 구성된다.


하는일은 수신된 값을 누적하는 버퍼가 있고 그 버퍼를 저장 스레드가 읽고 저장하고 0으로 초기화 한다.


근데 문제가 발생한다. 데이터의 저장과 데이터의 수신이 동시에 발생하면 정상적으로 0으로 초기화 되지 않는다.


데이터 저장에는 2초 이상 10초 미만이 소요될수 있으므로 두개의 스레드를 단순히 동기화 시키기 어렵다.


해결책을 구하시오