You can always wait longer than you ask for. A thread can wait even if you don't ask to wait. It's entirely dependent on the kernel's scheduling algorithm.