Use semaphore instead of condition variable
BackgroundExecutor uses a condition variable to synchronize processing to a work queue, which means that there is possible mutex contention on the main thread in rare scenarios. Instead, we can make the main thread non-blocking with a thread-safe queue, and use semaphores for signaling the background thread to wake up. Using semaphores saves a small number of instructions, but overall reduces contention Bug: 232113929 Test: bouncy ball Change-Id: Iced25e8349bdb2a70cac1ed681059a0b14258407
Loading
Please register or sign in to comment