Multi user threaded executor
Assigneesalesforce.com, inc.
InventorLeela Maheshwara Rao
Life of this patent
Estimating the term…
Abstract
Exclusive threads for multiple queues is described. A computing system adds a first event associated with a first entity to a first queue in response to receiving the first event. The computing system adds a second event associated with a second entity to a second queue in response to receiving the second event. The computing system adds a third event associated with the second entity to the second queue in response to receiving the third event. A first thread in the computing system removes the first event from the first queue, wherein any event in the first queue is removed exclusively by the first thread. The first thread processes the first event.
Claims20
A system for exclusive threads for multiple queues, the system comprising:
- one or more processors;
- and
- a non-transitory computer readable medium storing a plurality of instructions, which when executed, cause the one or more processors to:
- add, by a computing system, a first event associated with a first entity to a first queue in response to receiving the first event;
- add, by the computing system, a second event associated with a second entity to a second queue in response to receiving the second event;
- add, by the computing system, a third event associated with the second entity to the second queue in response to receiving the third event;
- remove, by a first thread in the computing system, the first event from the first queue, the first thread being associated with the first queue and a third queue and having the exclusive right to remove any event only from the first queue or the third queue;
- process, by the first thread in the computing system, the first event;
- and
- process, by the first thread in the computing system, an event in the third queue when all events in the first queue have been processed by the first thread.
A computer program product comprising computer-readable program code to be executed by one or more processors when retrieved from a non-transitory computer-readable medium, the program code including instructions to:
- add, by a computing system, a first event associated with a first entity to a first queue in response to receiving the first event;
- add, by the computing system, a second event associated with a second entity to a second queue in response to receiving the second event;
- add, by the computing system, a third event associated with the second entity to the second queue in response to receiving the third event;
- remove, by a first thread in the computing system, the first event from the first queue, the first thread being associated with the first queue and a third queue and having the exclusive right to remove any event only from the first queue or the third queue;
- process, by the first thread in the computing system, the first event;
- and
- process, by the first thread in the computing system, an event in the third queue when all events in the first queue have been processed by the first thread.
A method comprising:
- adding, by a computing system, a first event associated with a first entity to a first queue in response to receiving the first event;
- adding, by the computing system, a second event associated with a second entity to a second queue in response to receiving the second event;
- adding, by the computing system, a third event associated with the second entity to the second queue in response to receiving the third event;
- removing, by a first thread in the computing system, the first event from the first queue, the first thread being associated with the first queue and a third queue and having the exclusive right to remove any event only from the first queue or the third queue;
- processing, by the first thread in the computing system, the first event;
- and
- processing, by the first thread in the computing system, an event in the third queue when all events in the first queue have been processed by the first thread.
Dependencies are inferred from the claim text.