The Thread Manager, introduced in Firefox 3, offers an easy to use mechanism for creating threads and dispatching events to them for processing.
Warning: 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.