Questo non ha nulla a che fare con la sicurezza del thread .
In modalità WAL, uno scrittore non blocca i lettori, quindi il framework Android ritiene che in questo caso sia una buona idea utilizzare un pool di connessioni più ampio.
O forse no, come mostra questo commento:
private void setMaxConnectionPoolSizeLocked() {
if ((mConfiguration.openFlags & SQLiteDatabase.ENABLE_WRITE_AHEAD_LOGGING) != 0) {
mMaxConnectionPoolSize = SQLiteGlobal.getWALConnectionPoolSize();
} else {
// TODO: We don't actually need to restrict the connection pool size to 1
// for non-WAL databases. There might be reasons to use connection pooling
// with other journal modes. For now, enabling connection pooling and
// using WAL are the same thing in the API.
mMaxConnectionPoolSize = 1;
}
}