It's a little different because you're running in the context of a language interpreter, but a
is part of a process in the sense that every process consists of at least one thread. Threads are extremely lightweight and do not own resources. Resources such as memory and open file-handles are managed at the process level and are therefore available equally to all of its threads. Software objects such as database-related handles might or might not be available per-thread depending on the underlying implementation of those objects. They certainly can't be shared between processes: each child must separately obtain its own connections.