# Multi Threaded Service

> How the agent runs as a multithreaded Windows service, and how it keeps track of its threads.

Source: https://docs.capaone.com/performanceguard/technical-reference/agents/multi-threaded-service/  
Product: PerformanceGuard — a separate CapaSystems product; do not apply this page to any other.

The PerformanceGuard agent is implemented as a multithreaded Windows service. It hosts a number of threads, and each thread performs a share of the tasks of the agent.

The agent keeps track of the threads by running a check of all its threads on a regular basis. The period of the checks is twice the length of the PerformanceGuard delivery interval.

The agent service will automatically restart if it detects threads that are out of control for two consecutive checks. A thread is considered to be out of control if it hasn't registered itself with the agent's checking mechanism for 60 seconds.

You can view the status of agent's threads in the agent's status report. See [Status Report](/performanceguard/technical-reference/agents/status-report/).

:::tip
If in doubt about the PerformanceGuard delivery interval, you can verify it in the PerformanceGuard web interface by selecting **ADMINISTRATION > Setup > Parameters**, and then selecting the **Status** tab.
:::
