JAVA(244)
-
[Java][Thread] 쓰레드 그룹(thread group)
1. 쓰레드 그룹은 무엇인가? 쓰레드 그룹은 서로 관련된 쓰레드를 그룹으로 다루기 위한 것 쓰레드 그룹을 생성해서 쓰레드를 그룹으로 묶어서 관리 할 수 있음 쓰레드 그룹에 다른 쓰레드 그룹을 포함시킬 수 있음 쓰레드 그룹 클래스의 생성자 / 메서드 생성자 / 메서드 설명 ThreadGroup(String name) 지정된 이름의 새로운 쓰레드 그룹을 생성 ThreadGroup(ThreadGroup parent, String name) 지정된 쓰레드 그룹에 포함되는 새로운 쓰레드 그룹을 생성 int activeCount() 쓰레드 그룹에 포함된 활성상태에 있는 쓰레드의 수를 반환 int activeGroupCount() 쓰레드 그룹에 포함된 활성항태에 있는 쓰레드 그룹의 수를 반환 void checkAcc..
2022.06.30 -
[Java][Thread] 쓰레드의 우선순위
1. 쓰레드의 우선순위는 무엇인가? 쓰레드는 우선순위(priority)라는 속성을 가지고 있는데 우선순위가 높을수록 해당 쓰레드는 더 많은 작업 시간을 갖을 수 있습니다. 예를 들어 파일 전송 기능이 있는 메신저의 경우, 파일 다운로드를 처리하는 쓰레드보다 채팅내용을 전송하는 쓰레드의 우선순위가 더 높아야 사용자가 채팅하는데 불편함이 없을 것입니다. 쓰레드의 우선순위 정하기 void setPriority(int new Priority) : 쓰레드의 우선순위를 지정한 값으로 변경 int getPrioirty() : 쓰레드의 우선순위를 반환 public static final int MAX_PRIORITY = 10; // 최대 우선순위 public static final int MIN_PRIORITY = 1..
2022.06.30 -
[Java][Thread] 싱글쓰레드와 멀티쓰레드
1. 싱글쓰레드 프로세스와 멀티쓰레드 프로세스의 차이 싱글쓰레드는 순차적으로 작업들을 처리함 멀티 쓰레드는 여러 작업들을 번갈아 가면서 수행하면서 여러 작업이 동시에 실행되는 것과 같은 효과를 줌 멀티 쓰레드가 싱글 쓰레드보다 느린 경우는 무엇인가? 같은 자원을 가지고 사용하는 작업의 경우에는 싱글쓰레드보다 느릴 수 있음 쓰레드간의 작업 전환(Context Switching)에 시간이 걸림 싱글 쓰레드보다 멀티 쓰레드가 효율적인 경우는 무엇인가? 두 쓰레드가 서로 다른 자원을 사용하는 작업의 경우에는 싱글 쓰레드 프로세스보다 멀티 쓰레드 프로세스가 더 효율적임 예를 들어 사용자로부터 데이터를 입력받는 작업, 네트워크로 파일을 주고받는 작업, 프린터로 파일을 출력하는 작업과 같이 외부기기와의 입출력을 필요..
2022.06.30 -
[Java][Thread] 쓰레드 클래스의 start()와 run() 메서드
1. 왜 쓰레드 클래스의 run() 메서드 대신 start() 메서드를 호출해야 하는가? 일반적으로 쓰레드 인스턴스를 생성하면 쓰레드 클래스에 재정의되어 있는 run() 메서드를 호출합니다. 하지만 실제로 클라이언트에서 호출할때는 start() 메서드를 호출하여 run() 메서드를 실행시킵니다. class MyThread implements Runnable{ public void run(){ ... } } Thread t1 = new Thread(new MyThread()); t1.start(); run() 메서드 대신 start() 메서드를 호출해야 하는 이유는 run() 메서드를 호출하면 호출 스택(callstack)이 생성되지 않고 쓰레드가 독립적으로 수행되지 않습니다. 그러나 start() 메서드..
2022.06.30 -
[JSP] 15. JSTL(JSP Standard Tag Library) #2 코어 태그(import, url, redirect, out, catch)
1. URL 처리 태그 import 태그 redirect 태그 url 태그 1.1 import 태그 import 태그는 태그와 비슷한 기능을 제공하는 태그로서 사용 방법은 다음과 같습니다. url : 읽어 올 URL 주소 charEncoding : 읽어 온 데이터의 문자집합 var : 읽어 온 데이터를 저장할 변수명 scope : 변수를 저장할 범위 지정 param 태그는 태그처럼 전송할 파라미터의 이름과 값을 지정할 때 사용됩니다. 태그와 태그의 차이점 태그는 같은 웹 어플리케이션 내의 자원만을 포함할 수 있습니다. 태그는 같은 웹 어플리케이션 내의 자원뿐만 아니라 다른 웹 어플리케이션 또는 다른 서버의 자원까지도 접근할 수 있습니다. import 태그에서 url 속성의 값 3가지 형태 완전한 URL ..
2022.06.29 -
[JSP] 15. JSTL(JSP Standard Tag Library) #2 코어 태그(set, remove, if, choose, forEach, forTokens)
1. 코어 태그 코어 태그 라이브러리는 if-else나 변수의 지정 등과 같이 논리적인 처리를 위해 사용되는 스크립트 코드를 대체하기 위한 태그를 제공합니다. 코어 태그 라이브러리 기능 분류 태그 설명 변수지원 set JSP에서 사용될 변수를 설정 remove 설정한 변수를 제거 흐름제어 if 조건에 따라 내부 코드를 수행 choose 다중 조건을 처리할 때 사용 forEach 컬렉션이나 Map의 각 항목을 처리할 때 사용함 forTokens 구분자로 분리된 각각의 토큰을 처리할 때 사용됨 URL 처리 import URL을 사용하여 다른 자원의 결과를 삽입 redirect 지정한 경로로 리다이렉트 url URL을 재작성 기타 태그 catch 예외 처리에 사용됨 out JspWriter에 내용을 알맞게 처..
2022.06.29