Add a barrier mechanism to the MessageQueue.
The synchronization barrier enables selectively blocking execution of synchronous messages until the barrier is released. Asynchronous messages may continue running in the meantime. The barrier is intended to be used to implement more sophisticated scheduling policies related to view hierarchy traversals. While traversals are pending, most messages posted to the message queue must be held up. This is to satisfy the invariant that traversals will occur before subsequently posted messages are handled. The exception to this rule are "asynchronous" messages that represent external events or interrupts that come from other components such as VSYNC pulses, input events or sensor events. Because these messages are typically delivered at arbitrary times, they are independent of traversals or other typical synchronization boundaries. Messages can now be flagged as asynchronous to indicate that they are weakly ordered. Bug: 5721047 Change-Id: I1446dcfbc896f33b48355adc28967ace8c8c9b9b
Loading
Please register or sign in to comment