Thread Safe Multi-Tier Priority Queue For Managing Pending Events In Multi-Threaded Discrete Event Simulations