They don't just get blocked, they error out. This is a well defined error condition, so you can detect it easily, but it's not going to happen if you stick to the one connection rule. This means you have to intentionally think about handling it everywhere if you want to use another connection anywhere.
Edit: looks like you can set up blocking on the client using pragma busy_timeout [1] so the above is only true in default configuration
Edit: looks like you can set up blocking on the client using pragma busy_timeout [1] so the above is only true in default configuration
[1]: https://www.sqlite.org/pragma.html#pragma_busy_timeout