PR_SetConcurrency

Creates extra virtual processor threads. Generally used with MP systems.

Syntax

#include <prinit.h>

void PR_SetConcurrency(PRUintn numCPUs);

Parameter

PR_SetConcurrency has one parameter:

numCPUs

The number of extra virtual processor threads to be created.

Description

Setting concurrency controls the number of virtual processors that NSPR uses to implement its M x N threading model. The M x N model is not available on all host systems. On those where it is not available, PR_SetConcurrency is ignored.

Virtual processors are actuallyglobal threads, each of which is designed to support an arbitrary number oflocal threads. Since global threads are scheduled by the host operating system, this model is particularly applicable to multiprocessor architectures, where true parallelism is possible. However, it may also prove advantageous on uniprocessor systems to reduce the impact of having a locally scheduled thread calling incidental blocking functions. In such cases, all the threads being supported by the virtual processor will block, but those assigned to another virtual processor will be unaffected.