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 in."

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 prameter).

Can someone who knows confirm?

Thanks!