Являются ли CRUD методы ROOM потокобезопасными?
Предположим что несколько потоков одновременно пытаются создать/модифицировать запись в базе или использовать другие CRUD методы ROOM. Нужно ли самостоятельно обеспечить потокобезопасность этих методов с помощью synchronized или например однопоточного экзекутора или ROOM позаботится об этом сама? Как правильно использовать ROOM в многопоточной среде?
Ответы (1 шт):
Автор решения: Swift - Friday Pie
→ Ссылка
Да, должны. Это обертка вокруг SQLLite.
Есть одно "но": согласно https://developer.android.com/training/data-storage/room/async-queries запросы нельзя делать из главного потока - чтобы не происходило блокировки интерфейса.