2009-08-20 2 views

답변

1

FMDB 코드를 살펴본 후, SQLITE_BUSY 및 SQLITE_LOCKED 반환 값을 올바르게 사용하지 않고 있음을 발견했습니다.

FMDB 코드에 따르면 제한된 횟수의 재 시도 동안 루프를 실행해야 잠시 기다릴 수 있습니다.

그래서 코드에서 구현했습니다. 모든 것이 잘 작동하는 것 같습니다.

1

다소 복잡하지만 SQLite의 경우 File Locking and Concurrency documentation을 확인하십시오. db가 exclusive 잠긴 모드에있는 것처럼 들리는데, 이는 독서가 허용되지 않는 유일한 시간입니다. db가 열려 있지 않은 경우, 잠금 해제 된 것 외에도.

나는 100 % 확실하지 않지만 그게 내가 이라고 생각하면을 의미한다.

0

예, 모든 관련 멀티 스레딩 문제를 고려해야합니다. 일반적으로 sqlite3_open_v2()를 통해 동일한 DB 파일에 여러 핸들을 엽니 다.

관련 문제