在Java中,有三种不同的"阻塞"线程状态:BLOCKED,WAITING和TIMED_WAITING.(手册)
在C#中,只有一个"阻塞"状态:WaitSleepJoin.(手册)
为什么?我只能猜测Java和C#各自的实现有所不同.我真的没有看到为什么应该有三个的实际原因.有没有?(我第一次学习了C#的锁定块,Monitor.pulseAll()等,今天花了一半半的时间用Java调试,因为我假设了Java的同步块,Object#notifyAll()等.我知道它们现在的行为方式不同了,但我不明白为什么.)