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.")

Interfaces

There are several interfaces that provide threading support:

nsIThreadManager
The Thread Manager itself lets you create threads.
nsIThread
The nsIThread interface encapsulates an operating system thread, providing easy cross-platform access to multithreading in your code.
nsIThreadPool
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.
nsIThreadInternal
A subclass of nsIThread that is implemented by the XPCOM thread object to add support for observing dispatch activity on a thread.
nsIThreadObserver
Provides the ability to monitor a thread, to receive notifications when events are dispatched to it and when they're finished being processed.
nsIThreadEventFilter
This interface is used by the nsIThreadInternal.pushEventQueue() method in nsIThreadInternal to allow event filtering.
nsIRunnable
This interface is the base for all events/runnable objects which are dispatched to threads.

Tutorials