Являются ли CRUD методы ROOM потокобезопасными?

Предположим что несколько потоков одновременно пытаются создать/модифицировать запись в базе или использовать другие CRUD методы ROOM. Нужно ли самостоятельно обеспечить потокобезопасность этих методов с помощью synchronized или например однопоточного экзекутора или ROOM позаботится об этом сама? Как правильно использовать ROOM в многопоточной среде?


Ответы (1 шт):

Автор решения: Swift - Friday Pie

Да, должны. Это обертка вокруг SQLLite.

Есть одно "но": согласно https://developer.android.com/training/data-storage/room/async-queries запросы нельзя делать из главного потока - чтобы не происходило блокировки интерфейса.

→ Ссылка