A thread is a dispatchable unit of execution that consists of a set of instructions, related CPU register values, and a stack. Every process has at least one thread and can have many threads running at the same time. The application runs when OS/2 gives control to a thread in the process. The thread is the basic unit of execution scheduling.
Every process has at least one thread, called the main thread or thread 1. To execute different parts of an application simultaneously, you can start several threads.
A new thread inherits all the resources currently owned by the process. This means that if you opened a file before creating the thread, the file is available to the thread. Similarly, if the new thread creates or opens a resource, such as another file, that resource is available to the other threads in the process.