DB에 접근을 하는데..

 

DBClass 를 만들고 접근할 때 이 클래스의 객체를 만들어서 접근을 하는데요.

 

일단 메인 액티비티에서 객체를 만들어서 접근을 합니다. 그리고 여러가지 하겠죠? 사용자 맘대로.

 

그리고 주기적으로 알람을 만들어서

 

시간이 되면 알람리시버에서 객체를 만들어서 DB에 접근을 합니다. 다음 알람 정보를 가져오기 위함이죠.

 

DB에 thread로 동시 접근 하니까 에러가 나더군요.

 

이게 메인 액티비티에서만 그러면 해결이 되는데... 어쨌든 동시에 열지만 않으면 되니까요.

 

문제는 알람..

 

알람 때문에 알람리시버에서 DB에 접근하는 경우에는 만약 그 시간에 사용자가 메인 액티비티에서 뭔가를 하면 충돌이 일어나겠죠.

 

그래서 디비가 어떤 것에 의해서 열렸다 라는 것을 알 수 있다면

 

다시 닫힐 때까지 기다린다던가 뭔가 될텐데요.

 

그걸 모르겠습니다.

 

synchronized 키워드도 객체가 다르면 안 움직이니.. 이걸로는 배제가 안 될테고..

 

그렇다고 전역으로 열렸다 라고 변수에 저장하려고 해도 마땅한 데가 없고

 

가능하다고 해도 닫혔다 라고 셋팅 하기 전에 강제 종료라도 되버리면 망하는 거죠.

 

이래저래 자체적으로 열렸다 안 열렸다를 알 수 있는 방법이 있어야 될 것 같은데요.

 

있나요..