務實 Core Data
3 Tier
Context Tier
- In-memory
- 非執行緒安全
- lock-free
Coordinator Tier
- In-memory
- 執行緒安全
- 潛在 lock 競爭
SQlite Tier
- Disk I/O
- 執行緒安全
- 潛在 lock 競爭
平行 Context
g
不會 block 其他 Context queue
.
b
save 會在主線產生IO
多 Coordinator
g
Context 和 Coordinator 彼此互相獨立
競爭丟到 SQlite 層
b
沒有共享 row cache
不能共享 ObjectID
Nested Context
save IO 發生在 BG
del 沒有競爭問題