Room synchronization
Encyclopedia
The room synchronization technique is a form of concurrency control
in computer science
.
The room synchronization problem involves supporting a set of m mutually exclusive "rooms" where any number of users can execute code simultaneously in a shared room (any one of them), but no two users can simultaneously execute code in separate rooms.
Room synchronization can be used to implement asynchronous parallel queues and stacks with constant time access (assuming a fetch-and-add
operation).
Concurrency control
In information technology and computer science, especially in the fields of computer programming , operating systems , multiprocessors, and databases, concurrency control ensures that correct results for concurrent operations are generated, while getting those results as quickly as possible.Computer...
in computer science
Computer science
Computer science or computing science is the study of the theoretical foundations of information and computation and of practical techniques for their implementation and application in computer systems...
.
The room synchronization problem involves supporting a set of m mutually exclusive "rooms" where any number of users can execute code simultaneously in a shared room (any one of them), but no two users can simultaneously execute code in separate rooms.
Room synchronization can be used to implement asynchronous parallel queues and stacks with constant time access (assuming a fetch-and-add
Fetch-and-add
In computer science, the fetch-and-add CPU instruction is a special instruction that atomically modifies the contents of a memory location. It is used to implement mutual exclusion and concurrent algorithms in multiprocessor systems, a generalization of semaphores.In uniprocessor systems, it is...
operation).
See also
- Monitor (synchronization)Monitor (synchronization)In concurrent programming, a monitor is an object or module intended to be used safely by more than one thread. The defining characteristic of a monitor is that its methods are executed with mutual exclusion. That is, at each point in time, at most one thread may be executing any of its methods...
. - The Single Threaded Apartment Model in Microsoft's Component Object Model#Threading in COM, as used by Visual Basic.