본문 바로가기

Java/기본

(39)
[Java] 람다식(Lambda) 익히기 수정이력 2022.04.16. 글 표현 다듬기. 불필요한 내용 삭제 람다식이란 람다식은 익명함수(anonymous function)로 구동된다. 자바 8버전부터 적용 가능하다. 람다식은 마치 함수처럼 작성하지만, 실행시 익명구현 객체를 생성하는 방식으로 구동된다. 람다식은 병렬처리, 이벤트 처리 등 함수적 프로그래밍에서 유용하게 쓰인다. 람다식을 쓰는 이유 람다식을 쓰지 않을 때보다 코드가 간결해진다 (기호 및 약속된 표현을 쓰기 때문에) 필터링 및 매핑시 집계결과를 쉽게 가져올 수 있다 (내장된 메서드를 사용할 수 있음) 함수적 인터페이스 함수적 인터페이스(functional interface)는 추상메서드가 1개만 정의된 인터페이스이다. 람다식은 함수적 인터페이스에 사용할 수 있다. 람다식을 실행하면..
[Java] 스레드(Thread) 활용하기 - 데몬스레드, 스레드 그룹, 스레드 풀 데몬(daemon) 스레드 데몬 스레드는 주 스레드의 작업을 돕는 보조 스레드이다. 보통 사용자가 직접 제어하지 않고 백그라운드에서 실행된다. 주 스레드가 종료되면 데몬 스레드는 자동으로 종료된다. 코딩 방법 주 스레드에서 setDaemon() 메서드를 호출하여 데몬을 설정한다. start() 호출하여 스레드가 실행되기 전에 setDaemon()을 호출해야 정상적으로 설정된다. isDaemoni() 메서드로 데몬여부를 확인할 수 있다. 아래 코드를 보자. public class DaemonTh extends Thread{ void whileDaemonRunning(){ System.out.println("데몬스레드 실행중"); } void ifInterrupted(){ System.out.println(..
[Java] 스레드(Thread) 제어하기 - 우선순위 설정, 동기화, 메서드 사용하기 스레드 우선순위 스레드는 우선순위를 할당할 수 있다. 스레드가 여러개인 경우 우선순위가 높은 스레드가 제어권을 가질 기회가 많아진다. 우선순위는 1~10까지 int 값으로 할당된다. 기본 우선순위는 5이다. 우선순위가 높은 스레드는 실행기회를 많이 갖는다. 우선순위가 높다고 해서 자원을 모두 가져가거나 항상 먼저 실행된다는 의미가 아니다. 프로세스가 스레드를 번갈아 수행하는데 코드를 좀더 자주 실행한다는 의미이다. public static final int MAX_PRIORITY 가장 높은 순위. 상수 10 public static final int NORM_PRIORITY 일반적인 순위. 상수 5 public static final int MIN_PRIORITY 가장 낮은 순위. 상수 1 프로세서는 한..
[Java] 스레드(Thread) - 스레드 개념 및 생성하기 수정이력 2022.08.29. 어색한 표현 정리. 오타 수정 프로세스란 프로세스는 실행중인 프로그램을 의미한다 프로세스는 완전히 독립적인 수행단위이다 스레드란 스레드는 프로그램 내에서 실행되는 프로그램 제어 흐름(실행단위)을 말한다 한 프로그램에 여러개의 스레드가 존재할 수 있다. 스레드가 1개라면 단일스레드, 2개이상이라면 다중스레드 프로그램 코드를 한 줄씩 실행하는 것이 스레드의 역할이다 (=실행제어) 스레드란 곧 프로그램을 실행하는 주체이다 스레드를 보통 가벼운 프로세스(light-process)라고 표현한다 멀티스레드란 멀티스레드 =multi thread =다중스레드 멀티스레드는 여러개의 스레드를 이용하는 프로그램이다 다중 스레드에서 각각의 스레드는 하나의 독립적인 프로세스처럼 작업 수행 멀티 스..