While initialising the database using an abstract class in Rooms, the instance creation is generally done using synchronized. Why is this?
return INSTANCE ?: synchronized(this) {
val instance = Room.databaseBuilder(
context.applicationContext,
DatabaseClass::class.java,
"database_name",
)
.fallbackToDestructiveMigration()
.build()