Rather, you have no guarantee that `run` gets to the point in its execution where the thread is added to the FIFO queue in the lock.

Let me know if I'm missing something here.