본문 바로가기

자바

Blocking IO 와 Non-Blocking IO Blocking I/O Blocking I/O는 I/O 작업이 완료될 때까지 해당 스레드가 대기하는 방식입니다. 예를 들어, 파일에서 데이터를 읽는 작업을 수행하는 경우, 데이터 읽기가 완료될 때까지 스레드는 블록되어 다른 작업을 수행할 수 없게 됩니다. 스레드의 상태 Blocking I/O 작업 중에는 스레드가 "Blocked" 상태가 되며, 이 상태에서는 CPU가 해당 스레드를 실행하지 않습니다. 스레드는 I/O 작업이 완료될 때까지 대기합니다. CPU의 상태 스레드가 블록된 동안 CPU는 다른 스레드나 프로세스의 작업을 실행할 수 있습니다. 만약 다른 실행 가능한 스레드가 없다면, CPU는 유휴 상태가 될 수 있습니다. CPU 유휴 상태 방지 CPU의 유휴 상태를 방지하기 위해서는 Non-Block.. 더보기
Java RAF (RandomAccessFile) - 사용법 자바 7 에서도 C언어의 fseek 와 lseek같은 기능을 제공한다.C 언어에서 fseek 같은 경우 파일 포인터를 사용하여 파일의 위치로 접근할수있다.자바에서도 동일한 기능을 할수있는 RandomAccessFile 클래스를 사용하면 가능하다. public class RandomAccessFileDemo { public static void main(String[] args) { try { // create a new RandomAccessFile with filename test RandomAccessFile raf = new RandomAccessFile("test.txt", "r");// 모드 값은 rw,w,r 과 같이 다양하게 선택 가능. raf.seek(0);// 0 이면 처음부터 // pri.. 더보기