Dit heeft niets te maken met thread veiligheid .
In WAL-modus blokkeert een schrijver geen lezers, dus het Android-framework denkt dat het in dit geval een goed idee is om een grotere verbindingspool te gebruiken.
Of misschien niet, zoals deze opmerking laat zien:
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;
}
}