What is a thread?

A thread can be thought of as a particular path of execution through the Open Server application code. Each client uses a thread to manage its connection and call the event handlers and procedures that fulfill its requests. The Open Server runtime system has several threads that manage server activities such as delivering messages, handling server-to-server communications, and scheduling tasks. An application can spawn server threads for other application-specific activities.

As a multithreaded system, an Open Server application must schedule the variety of activities the threads perform, negotiate the threads’ access to shared resources, and provide a means by which the threads communicate with each other. For more information, see “Scheduling”, and “Tools and techniques”.