Always bear in mind that "threads operate within the context of processes." Therefore, whenever the operating system "puts the process to sleep," all of its threads sleep with it – however briefly. This is probably the explanation for what you are seeing, and why "fork" is visibly different.