read()
메소드는 입력 자원 (키보드/파일/네트워크/프로그램)에 대해 스트림에서 바이트를 사용할 수있을 때까지 차단합니다. 단일 스레드 자바 프로그램에 대한java.io.InputStream - read()
public abstract int read() throws IOException
1), blocked 상태로 java process를 이동하는 커널을 가능하게 read()
의 차단합니까?
2) 멀티 스레드 Java 프로그램의 경우 하나의 스레드에서 read()
을 차단하면 다른 스레드가 CPU 슬라이스를 차지할 수 있습니까? 자바 프로세스가 인 경우 에 계속 실행되면 CPU 시간 조각 인 때까지 상태가됩니다.
현실적으로 단일 스레드 Java 프로세스를 찾을 수 없습니다. JVM 자체가 여러 스레드를 생성합니다. –
@AndrewHenle JVM 시스템 스레드에 대해 이야기하고 있습니까? GC/컴파일러/VM/.. 런타임에서 내 자바 프로그램의 일부가 될 것입니다 – overexchange
프로세스는 상태가 없으며 스레드 만 수행합니다. –