You can make a thread wait on a "data stream" as long as the "data stream" read API is written in such a way that will make the thread that is trying to read to wait until data is available and then notifies it. An example is the sockets API. So yes, it is possible. But again you don't send data to a thread, you notify a thread waiting for your data that the data has become available.