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 innsIThreadInternal
to allow event filtering. nsIRunnable
- This interface is the base for all events/runnable objects which are dispatched to threads.