Java 멀티스레딩 소개

스레드는 프로세스 내에서 독립적으로 실행되는 하위 작업입니다. 멀티스레딩 기술 사용 시나리오 블로킹(Blocking): 시스템에 블로킹 현상이 발생하면 멀티스레딩 기술을 사용하여 실행 효율을 높일 수 있습니다. 종속성(Dependency): 비즈니스 로직이 두 개의 실행 과정 A와 B로 나뉘는데, A 과정이 블로킹될 때 B 과정은 A 과정의 실행 결과를 필요로 하지 않는다면, ...

7월 24일 00:36에 게시됨

C# Windows Forms에서 스레드 안전한 컨트롤 접근

Windows Forms 애플리케이션에서 여러 스레드를 사용하여 UI 컨트롤에 접근할 때 스레드 안전성 문제는 흔히 발생합니다. 특히 타이머와 같은 구성 요소가 백그라운드 스레드와 동시에 UI 컨트롤을 수정하려고 할 때 화면 렌더링 오류가 발생할 수 있습니다. 1. 스레드 안전하지 않은 접근 (권장하지 않음) 가장 간단한 방법은 Control.CheckForIllegalCrossThreadCalls ...

7월 20일 18:21에 게시됨

멀티스레드 학습 필수 9가지 방법

서론: Thread 클래스를 상속하거나 Runnable 인터페이스를 구현하는 방법 외에 run() 메서드를 재정의해야 합니다. 이 run() 메서드 내에서 발생하는 예외는 try...catch 를 통해만 처리할 수 있으며, 예외를 상위로 던jar는 것은 불가능합니다. 이는因為 run() 메서드가 예외를 던질 수 없도록 설계되었기 때문입니다. 이번 기고에서는 멀티스레드 학습 과정에서 반드시 ...

7월 15일 16:45에 게시됨

Android Handler 메커니즘 완벽 이해하기

Android에서 Handler는 서로 다른 스레드 간에 메시지를 전달하거나 작업을 실행하는 데 사용되는 핵심 도구이며, 특히 백그라운드 스레드에서 메인 스레드(UI 스레드)로 작업을 전송합니다. Handler의 작동 원리는 Looper와 MessageQueue에 의존하며, 이 세 가지가 Android 메시지 처리 메커니즘을 구성합니다. 핵심 구성 요소 스레드와 메시지 큐: 각 Android 앱의 메인 ...

7월 7일 19:05에 게시됨

Java 스레드 인터럽트 및 LockSupport 동기화

스레드 인터럽트 메커니즘 Java에서 스레드는 외부에서 강제로 중지되지 않으며 자발적으로 중단해야 합니다. Thread.stop()과 같은 메서드는 폐기되었으며, 대신 협력적 인터럽트 메커니즘이 도입되었습니다. 스레드 객체의 interrupt() 호출은 인터럽트 플래그를 설정하고, 대상 스레드가 이 상태를 주기적으로 확인하여 작업을 종료합니다. 인터럽트 API 메서드 void ...

6월 8일 21:39에 게시됨