What is a semaphore? — A semaphore (defined by Dijkstra) is kind of signaling solution for handling concurrency data integrity problems that arise in multi-threaded applications. It has a non-negative integer that supports 2 operations: - P() [proberen, to test/probe] - atomic operation that waits for semaphore to become > 1, then decrements it by 1 (wait) - V() [verhogen, to increment] - an atomic operation that increments the semaphore by 1, waking up any P (signal) The initial semaphore value will determine how many threads can run in the critical section at once.
G
1.2K
Google Interview
This flashcard deck made by jwasham contains knowledge about google interview. For more details, please follow https://github.com/jwasham/google-interview-university