java.io.InputStream - 读取()

java.io.InputStream - read()

read() 方法会阻塞,直到流中的字节可用于输入资源 (keyboard/file/network/program)。

public abstract int read() throws IOException

1) 对于单线程Java 程序,阻塞read() 是否使内核能够移动java process to blocked 状态?

2) 对于多线程Java程序,在一个线程上阻塞read()是否允许其他线程占用CPU片?让 java 进程 继续处于 运行 状态,直到 CPU 时间片。

For a single threaded Java program, Does blocking of read() enable kernel to move java process to blocked state?

没有单线程这样的东西 Java 程序,但如果有的话,是的。

For a multi-threaded Java program, Does blocking of read() on one thread allow other threads to occupy CPU slice?

当然可以。否则线程将毫无意义。

Having java process continue in Running state until it's CPU time slice.

是的。