Is every request one thread?

I am asking because the documentation in ConnectionPool states that

"The basic idea is that each thread checks out a database connection
from the pool, uses that connection, and checks the connection back

I would like to check out a connection in a before_filter, and check it
back in in an after_filter of a request, because I need to be sure to
use the same connection for the whole lifecycle of the request (I need
to set a session variable that is read by some views that use it as

Can someone who knows confirm?