The Thread Manager, introduced in Firefox 3, offers an easy to use mechanism for creating threads and dispatching events to them for processing.

Only C++ code may use the thread manager and XPCOM thread. Application/Extension JavaScript should consider using a ChromeWorker instead.")


There are several interfaces that provide threading support:

The Thread Manager itself lets you create threads.
The nsIThread interface encapsulates an operating system thread, providing easy cross-platform access to multithreading in your code.
A thread pool provides a limited set of worker threads. When you dispatch an event to the pool, the pool selects an available worker thread to process the event.
A subclass of nsIThread that is implemented by the XPCOM thread object to add support for observing dispatch activity on a thread.
Provides the ability to monitor a thread, to receive notifications when events are dispatched to it and when they're finished being processed.
This interface is used by the nsIThreadInternal.pushEventQueue() method in nsIThreadInternal to allow event filtering.
This interface is the base for all events/runnable objects which are dispatched to threads.