Cela n'a rien à voir avec la sécurité des threads .
En mode WAL, un écrivain ne bloque pas les lecteurs, donc le framework Android pense que c'est une bonne idée d'utiliser un plus grand pool de connexions dans ce cas.
Ou peut-être pas, comme le montre ce commentaire :
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;
}
}