Perhaps because multiple threads reading from a single stream does not make any sense.
Imagine that you have a sequence of messages being written to a stream and several, say 2 readers on the other side. Assume that each message is 1000 bytes long and 20 of those messages were written to the stream.
Now if thread #1 reads 600 bytes and sleeps waiting for the remaining 400 bytes to come across. Now, thread #2 wakes up and reads the remaining 400 bytes of the incoming message. Then thread #1 wakes up, blocks since thread #2 is reading and when it wakes up, reads another 400 bytes from the next message.
In the end, thread #1 have read 600 bytes of the first message and 400 bytes from the second message while thread #2 read 400 ending bytes of the first message. What are they going to do with the data? It just does not make any practical sense.