Multi-Producer Single-Consumer Event Queue

Problem Implement a multiple-producer, single-consumer (MPSC) event queue that merges events from several producer threads while a single consumer drains them in order, handling edge cases like an empty queue and bursts.

Input / Output

  • Input: concurrent push(event) calls from multiple producer threads.
  • Output: a single consumer draining events with no losses and no data races.

Constraints

  • Thread-safe; no lost or duplicated events.
  • Handle the empty-queue (consumer waits) and burst (producers outpace consumer) cases.

Example

  • Several producers push events concurrently; the consumer drains them, blocking when empty and coping with bursts.
added …
LeaderboardSalaryAccount