728x90 반응형 Java13 스레드란 무엇인가 : Future, CompletableFuture 이전 글 - 스레드 풀과 Executor 프레임워크 이번 포스터에서는 Java의 Future와 CompletableFutuer 객체에 대해서 알아보겠습니다. 이전의 스레드와 Runnable에 대해서 알고 있어야 합니다. 👉🏻 Runnable, Thread 🐻 FutureA Future represents the result of an asynchronous computation.Future는 비동기 작업의 결과를 나중에 받을 수 있도록 설계된 인터페이스입니다. Java 1.5 버전 이후로 등장하였습니다.Java는 Future를 이용해서 어떤 문제를 해결하기 위해서 만들어진 것일까요? 비동기 처리를 하기 위한 Runnable 인터페이스와 Thread 클래스가 존재합니다. run을 구현한 작업 객체를 .. 2025. 6. 19. 스레드란 무엇인가 : 스레드 풀(Thread Pool)과 Executor 이전글 : 생산자-소비자 문제 이번 포스트에서는 스레드를 직접 생성하지 않고 관리하는 스레드 풀과 작업 큐와 스레드 풀을 고수준으로 사용할 수 있도록 해주는 Executor 프레임워크에 대해서 알아보는 것이 목표입니다. 🐻 스레드 풀 (Thread Pool)스레드 풀은 컴퓨터 프로그램에서 실행의 동시성을 달성하기 위한 소프트웨어 설계 패턴의 구성요소입니다.스레드 풀은 이전에 생성된 스레드를 재사용하여 작업을 실행하며, 스레드 사이클 오버헤드와 리소스 스레싱 문제를 해결합니다.비동기는 작업을 동시에 처리할 수 있도록 스레드를 생성하여 실행합니다. 이때 생성되는 스레드는 시스템 콜을 통해 생성되며, 각 스레드는 자신만의 호출 스택(call stack)을 할당받습니다. 또한 운영체제가 관리하는 스케줄링 알.. 2025. 6. 12. CAS 원자적 연산 - 스레드란 무엇인가 (9) 이전글 스레드란 무엇인가: 생산자 소비자 문제-2 (8)이전글 스레드란 무엇인가: 생산자 소비자 문제 (7)이전글 스레드란 무엇인가: Spring Boot 모니터링을 하다 생긴 궁금증(6)단2025.05.18 - [Developer/JAVA] - 스레드란 무엇인가: Spring Boot 모니터링을 하다doitwojae.tistory.com 공유 자원에 스레드가 동시 접근하여 값을 변경 시도하는 것을 막기 위한 동기화 외에 CAS라는 방식에 대해서 알아보겠습니다. 🐻 CAS - 원자적 연산CAS는 Compare and Swap의 줄임말입니다.이는 데이터 원자성을 보장하기 위한 하드웨어적 지원 메커니즘입니다. 하드웨어적 지원 메커니즘이란 CPU가 하나의 작업을 수행할 때, 원자적 연산을 보장한다는 뜻입.. 2025. 5. 30. JAVA : JVM 이란 Java의 JVM에 대해서 학습한 내용을 정리한 포스트입니다. 🐻 JVMJVM은 Java Virtual Machin의 약자입니다.자바 관련 서적을 보게 되면 가장 먼저 자바의 실행 과정을 설명해 줍니다. Windows, Mac, Linux 등 OS에 종속적이지 않고 Java는 어느 환경에서도 실행할 수 있습니다. 이는 Java가 WORA (Write Once, Run Anywhere) 정신을 가지고 만들어졌기 때문입니다. 🐻 1. JVM 기본 배경어떻게 Java가 어느 OS 환경에서든지 실행될 수 있는지 알아보겠습니다. 먼저 우리가 작성한 소스코드가 어떤 과정을 거치게 되는지 살펴보겠습니다.출처 : JVM이란?우리가 작성한 자바 코드는 컴파일러에 의해서 바이트 코드로 컴파일됩니다. 컴파일된 결과물.. 2025. 5. 29. Java는 Call by reference 개념이 없다 자바에는 Call by reference 가 없습니다. 이에 대해서 이유를 살펴보겠습니다. 🐻 Call by value, Call by reference프로그래밍을 하다 보면 꼭 알고 넘어가야 하는 개념이 있습니다. 바로 Call by Value, Reference입니다. 어떤 언어를 공부하든 나오는 개념이기도 합니다.함수의 매개변수에서 값을 복사하느냐 주소값을 참조하느냐에 따라 반환 결과가 달라집니다. 🐻 Call by valueCall by value란, 값을 호출하는 것을 의미합니다. 또는 값에 의한 호출, 값만 전달하는 방식이라고 합니다.전달받은 전달받은 값을 복사하여 처리합니다. 전달받은 값을 변경해도 원본에 영향이 가지 않습니다. 두 변수의 값을 변경하는 예제를 통해서 살펴보겠습니다.pub.. 2025. 5. 26. 스레드란 무엇인가: 생산자 소비자 문제 (7) 이전글 스레드란 무엇인가: Spring Boot 모니터링을 하다 생긴 궁금증(6)단2025.05.18 - [Developer/JAVA] - 스레드란 무엇인가: Spring Boot 모니터링을 하다 생긴 궁금증(5) 스레드란 무엇인가: Spring Boot 모니터링을 하다 생긴 궁금증(5)2025.05.18 - [Developer/JAVA] - 스레드란 무엇인가:doitwojae.tistory.com 스프링부트의 상태를 관찰하며, 어떻게 동시에 여러 요청을 처리할 수 있는가 알아보기 위해 스레드에 학습하고 정리하는 시리즈입니다. 🐻 생산자 소비자 문제멀티 스레드의 핵심을 제대로 이해하기 위해서는 생산자 소비자 문제를 이해하고, 올바른 해결 방법을 함께 알아두어야 합니다. 생산자-소비자 문제는 여러 개의.. 2025. 5. 25. 이전 1 2 3 다음 728x90 반응형