목록쓰레드 (3)
고양이 여름이의 지식채널
자바 쓰레드 프로그래밍으로 쓰레드 로컬(ThreadLocal), ConcurrentHashMap 그리고 CompletableFuture 에 대해서 알아봅니다. 쓰레드 로컬 (ThreadLocal) 쓰레드 로컬은 쓰레드 간에 데이터를 공유할 수 있도록 돕는 자바의 클래스입니다. 이를 사용하면, 하나의 쓰레드에서 생성한 데이터를 다른 쓰레드에서도 사용할 수 있게 됩니다. 이를 통해 쓰레드 간 데이터 공유를 보다 안전하게 처리할 수 있습니다. public class ThreadLocalExample { // ThreadLocal 객체 생성 public static final ThreadLocal THREAD_LOCAL = new ThreadLocal(); public static void main(String..
자바 쓰레드 프로그래밍으로 쓰레드풀과 데드락에 대해서 알아봅니다. 쓰레드 풀(Thread Pool) 쓰레드 풀은 쓰레드를 효율적으로 사용하기 위한 방법입니다. 여러 개의 쓰레드를 미리 만들어 놓고, 작업이 필요할 때마다 쓰레드를 할당하여 작업을 수행합니다. 이를 통해 쓰레드를 반복적으로 생성하고 제거하는 오버헤드를 줄일 수 있습니다. public class ThreadPool { private final BlockingQueue taskQueue; // 작업 큐 private final List threads; // 쓰레드 리스트 public ThreadPool(int numThreads) { taskQueue = new LinkedBlockingQueue(); // 작업 큐 초기화 threads = n..
쓰레드(Thread)란? 자바에서 쓰레드는 하나의 프로세스 내에서 독립적으로 실행될 수 있는 작은 실행 단위를 의미합니다. 각각의 쓰레드는 자신만의 스택 메모리와 PC(Program Counter) 값을 가지고 실행됩니다. 쓰레드를 실행시키면 해당 쓰레드가 병렬적으로 동작하여, 다음과 같은 동작을 수행할 수 있습니다. 쓰레드가 실행하는 코드를 처리합니다. 다른 쓰레드와 동시에 실행될 수 있습니다. 쓰레드가 가지고 있는 스택 메모리에서 연산을 수행합니다. 쓰레드는 다른 쓰레드의 메모리 공간에 직접적으로 접근할 수 없으며, 각 쓰레드는 독립적으로 실행됩니다. 쓰레드의 우선순위에 따라 실행 순서가 결정됩니다. 쓰레드를 활용하면 여러 작업을 동시에 처리할 수 있으며, 이를 통해 작업의 효율성을 높일 수 있습니다..