2009-11-25 9 views
0

내 iPhone 앱에서 sqlite를 사용하고 있습니다.데이터베이스 작업은 스레드로부터 안전합니까?

나는 두 개의 테이블에 다른 데이터를 삽입해야하는 데이터베이스 작업이 있습니다 (데이터 종속성이 없음을 의미). 이 두 작업을 별도의 스레드에서 수행 할 수 있습니까? 각 테이블의 삽입 작업은 둘 이상입니다. 그래서 나는 while 루프에서도 이것을하고있다.

답변

2

SQLite 자체는 스레드 안전성을 위해 만들 수 있습니다 (SQLITE_THREADSAFE으로 컴파일 된 경우 v3.3.1 이상). sqlite_threadsafe()으로 전화하여이를 확인할 수 있습니다.

난 당신이 다음을주의 깊게 읽으십시오 :

  • SQLite FAQ on threading
  • SQLite는 스레드 안전하더라도, 당신은 당신의 디자인을 다시 방문하실 수 있습니다

      . 데이터베이스에 쓰는 다중 스레드를 갖는 것이 이상적이지는 않을 것이며, 요구 사항을 완전히 피하기 위해 재 설계 할 수도 있습니다.

    관련 문제