Development(7985)
-
무의미한 반복, yield() - 스레드 상태 제어
무의미한 반복스레드 처리작업은 반복 실행을 위해 while문이나 for문을 포함하는 경우가 많이 있습니다.스레드가 시작되어 run()메소드를 실행하면 while(true){}블록을 무한 반복합니다.만약 isWork의 값이 false라면 그리고 isWork의 값이 false에서 true로 변경되는 시점이 불명확하다면 while문은 어떠한 실행문도 실행하지 않고 무의미한 반복을 하게 됩니다.이것보다는 다른 스레드에게 실행을 양보하고 자신은 실행대기 상태로 가는 것이 전체 프로그램 성능에 도움이 됩니다. public void run(){ while(true){ if(isWork){ System.out.println("Thread 작업 내용"); }else{ Thread.yield(); } } }
-
sleep() - 스레드 상태 제어
sleep()· 실행 중인 스레드를 주어진 일정 시간동안 일시 정지 시킵니다.· 메소드를 호출하면 스레드는 주어진 시간 동안 일시 정지상태가 되고 다시 실행 대기 상태로 돌아갑니다.· 매개값으로 얼마동안 일시 정지 상태로 있을 것인지 밀리세컨드(millisecond; 1/1000)단위로 시간을 설정합니다.· 일시정지 상태에서 주어진 시간이 되기 전에 interrupt()메소드가 호출되면 InterruptedException 예외가 발생하기 때문에 예외처리가 필요합니다.
-
OutputStream의 주요 메소드
OutputStream의 주요 메소드
-
표준 입출력
표준 입출력자바에서는 콘솔과 같은 표준 입출력 장치를 위해 System이라는 표준 입출력 클래스를 정의하고 있습니다.java.lang 패키지에 포함되어 있는 System 클래스는 표준 입출력을 위해 다음과 같은 클래스 변수를 제공합니다.표준 입출력 스트림은 자바가 자동으로 생성하므로, 개발자가 별도로 스트림을 생성하지 않아도 사용할 수 있습니다.
-
자바 스트림의 큰 분류, 파일 기반 입력 스트림 형성
자바 스트림의 큰 분류· 스트림은 사용 목적에 따라 입력 스트림과 출력 스트림으로 구분됩니다. 데이터의 입력을 위해서는 입력 스트림을, 출력을 위해서는 출력 스트림을 형성해야 합니다.· 스트림은 객체 생성을 통해서 만들어집니다.
-
일반적인 입출력의 대상, 자바 I/O기준, I/O 모델
일반적인 입출력의 대상· 키보드와 모니터· 하드디스크에 저장되어 있는 파일· USB와 같은 외부 메모리 장치· 네트워크로 연결되어 있는 컴퓨터· 사운드카드, 오디오카드와 같은 멀티미디어 장치· 프린터, 팩시밀리와 같은 출력장치 자바 I/O기준 I/O 모델· 입출력 대상이 달라지면 프로그램상에서의 입출력 방식도 달라지게 됩니다.· 자바에서는 입출력 대상에 상관없이 입출력 방식을 동일하게 사용할 수 있도록 별도의 ‘I/O 모델’을 정의하고 있습니다.· I/O 모델의 정의로 인해서 입출력 대상이 달라져서 생기는 입출력 방식의 차이가 없어졌기 때문에 기본적인 입출력의 형태는 동일합니다.· 이것이 JAVA의 I/O 스트림이 가진 장점입니다.