The active object pattern
To overcome the preceding race condition in concurrency, we can use the active object pattern.
Note
The active object pattern decouples the method execution from its invocation. Mostly, the active object pattern executes in asynchronous mode. Requesters submit a task as an object in a queue, and a scheduler picks an object from the queue and executes its logic. An object in the queue knows what to do when invoked, and that's the reason why the name of the pattern is active object.
As Apex does not support multithreading, we cannot create a shareable queue, which can be accessed by multiple threads simultaneously; and therefore, we will do it with the help of the Pending_Request__c custom object. This custom object will ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access