Stay organized with collections Save and categorize content based on your preferences.

A priority queue of resumption points.

Each resumption point is a pair of program counter to resume, and mask of threads that are waiting there.

This class is a simple wrapper around Python's standard heapq implementation of priority queues. There are just two subtleties:

  • Dequeue gets all the threads that were waiting at that point, by coalescing multiple entries if needed.

  • Enqueue drops entries with empty masks, because they need never be resumed.



View source


View source