본문 바로가기

Java10

[Java] Join, Interrupt, Yield 조인 ( Join )조인은 왜 필요 할까요?간단한 작업을 통해 이해 해보도록 하겠습니다.스레드A는 1~10의 합을 구하는 작업을 하고 메인 스레드는 그 결과를 출력 합니다.public static void main(String[] args) throws InterruptedException { AddOneToTen task = new AddOneToTen(); Thread threadA = new Thread(task, "Thread-A"); threadA.start(); System.out.println("결과 값 : " + task.result); System.out.println("Thread-A 상태 : " + threadA.getSt.. 2024. 11. 12.
[Java] 스레드의 생성과 생명주기 스레드 생성스레드 생성 방법은 두 가지 입니다.Thread 상속 받기public class HelloThread extends Thread { @Override public void run() { System.out.println(Thread.currentThread().getName() + ": run()"); }} 스레드를 직접 상속 받으면 문제가 있습니다.자바는 다중 상속을 지원 하지 않습니다. 스레드를 상속 받을 경우 다른 상속을 받을 수 없습니다.스레드의 불필요한 부분을 상속 받는 문제가 있습니다. 스레드의 작업만 재정의 하기 때문에 상속을 받을 필요가 없습니다.스레드 상속 보다는 Runnable 인터페이스를 이용한 스레드 생성을 주로 합니다.  Runnable 인터.. 2024. 11. 10.
[Java] 프로세스와 스레드 멀티테스킹 멀티태스킹이란 뭘까요?페이커 선수가 여러 게임을 플레이 하는 것 처럼 보이지만 실제 CPU는 한번에 한 작업 밖에 하지 못합니다.실행이 너무 빠르기 때문에 눈으로 봤을땐 마치 동시에 실행 되는 것 처럼 보이는데요이렇게 컴퓨터 시스템이 동시에 여러 작업을 수행 하는 능력을 멀티태스킹 이라고 합니다.   프로세스프로그램이 실행 되기전 까진 단순한 파일에 불과 합니다.운영체제 안에서 실행중인 프로그램을 프로세스라고 합니다.프로세스는 실행 중인 프로그램의 인스턴스 입니다.프로세스는 독립적인 메모리 공간을 가지고 있습니다.따라서 프로세스는 자신의 메모리 공간만을 참조 하며 다른 프로세스는 간섭 하지 않습니다.즉. 프로세스가 작동이 중단 되어도 다른 프로세스에 영향을 주지 않습니다. 스레드 스레드는 프로.. 2024. 11. 9.
[자바의 정석] 람다 1.람다식 람다식(Lambda expression)은 메서드를 하나의 식(expression)으로 표현한것이다. 메서드를 람다식으로 표현하면 메서드의 이름과 반환값이 없어지므로 람다식을 "익명 함수" 라고도 한다. 1 - 2 람다식 작성하기 메서드에서 이름과 반환타입을 제거하고 매개변수 선언부와 몸통 { } 사이에 -> 를 추가합니다. int max(int a, int b) { return a > b ? a : b; } 위의 식을 람다식으로 바꾸면 (int a, int b) -> { return a > b ? a : b; } (int a, int b) -> a > b ? a : b (a, b) -> a > b ? a : b return문 대신 '식'으로 대신가능하며 '식' 이므로 끝에 " ; " 을 붙이.. 2023. 10. 30.