A method and apparatus is provided for providing and integrating
high-performance message queues. "Contexts" are provided that allow
independent worlds to be created and execute in parallel. A context is
created with one or more threads. Each object is created with context
affinity, allowing any thread inside the context to modify the object or
process pending messages. Threads in a different context are unable to
modify the object or process pending messages for that context. To help
achieve scalability and context affinity, both global and thread-local
data is often moved into the context. Remaining global data has
independent locks, providing synchronized access for multiple contexts.
Each context has multiple message queues to create a priority queue.
There are default queues for sent messages and posted messages,
carry-overs from legacy window managers, with the ability to add new
queues on demand. A queue bridge is also provided for actually processing
the messages.
Eine Methode und ein Apparat wird für das Zur Verfügung stellen und die Integrierung der leistungsstarken Warteschlangen für Messages zur Verfügung gestellt. "Kontexte" sind, vorausgesetzt daß erlauben Sie, daß unabhängige Welten verursacht werden und führen in der Ähnlichkeit durch. Ein Kontext wird mit einem verursacht oder mehr verlegt. Jeder Gegenstand wird mit Kontextaffinität verursacht und läßt jedes mögliches Gewinde innerhalb des Kontextes den Gegenstand ändern oder während Anzeigen verarbeiten. Gewinde in einem anderen Kontext sind nicht imstande, den Gegenstand zu ändern oder schwebende Anzeigen für diesen Kontext zu verarbeiten. Zu helfen, scalability und Kontextzu erzielen affinität, die globalen und verlegen-lokalen Daten wird häufig in den Kontext verschoben. Restliche globale Daten haben die unabhängigen Verriegelungen und stellen synchronisierten Zugang für mehrfache Kontexte bereit. Jeder Kontext hat die Warteschlangen der geketteten Nachricht, zum einer Priorität Warteschlange herzustellen. Es gibt Rückstellung Warteschlangen für gesendete Anzeigen und informierte Anzeigen, Überträge von den Vermächtnisfenster-Verwaltungsprogrammen, mit der Fähigkeit, neue Warteschlangen Bedarfs- zu addieren. Eine Warteschlange Brücke wird auch für die Anzeigen wirklich verarbeiten zur Verfügung gestellt.