반응형

Java 3

자바 멀티스레딩 가이드 - Best Practices for Multithreading in Java

멀티스레딩 은 모든 스레드가 동시에 실행되고 있다는 착각과 함께 동일한 시점에 메모리에 수많은 스레드를 가질 수 있는 운영 체제의 기능이다. 다중 스레딩은 여러 가지 이점을 제공하지만 스레드 동기화, 기아 상태, 동시성 등과 관련된 문제를 방지하려면 모범 사례를 알고 있어야 한다. Java의 다중 스레딩에 대한 모범 사례를 살펴보자. 경쟁 조건(Race Conditions) 및 데드락(Deadlocks) 방지 Java 스레드로 작업할 때 기억해야 할 가장 적절한 사항은 경쟁 조건과 교착 상태를 피하는 것이다. 경쟁 조건은 여러 스레드가 동일한 시점에서 동일한 데이터에 액세스 하려고 시도할 때 발생할 수 있다. 이로 인해 예기치 않은 결과를 경험할 수 있으며 이로 인해 프로그램에 문제가 발생할 수 있다. ..

development 2023.02.09

Java 스레드(Thread) 데드락(Deadlock) 방지하는 방법

자바에서 스레드 데드락을 방지하는 방법 정리 두 개 이상의 스레드가 서로 리소스 액세스를 완료하기를 기다릴 때마다 데드락이 발생한다. 데드락, 스레드 데드락의 원인 및 자바에서 스레드 데드락을 방지할 수 있는 방법에 대해 정리했다. 1) 데드락(Deadlock)이란 컴퓨팅에서 두 개 이상의 동시 작업이 서로 완료되기를 기다리는 경우 데드락이 발생한다. 즉, 두 스레드가 다른 스레드의 잠금 해제를 기다리기 때문에 서로를 영원히 차단할 때 데드락이 발생한다. 이러한 상황은 두 스레드가 리소스를 공유하고 둘 다 다른 스레드가 보유한 공유 리소스에 대한 잠금을 얻기 위해 대기할 때 종종 발생한다. 데드락이 발생하려면 다음 조건이 충족되어야 한다. 최소한 하나의 리소스는 하나의 스레드만 동시에 액세스 할 수 있도..

development 2023.02.07

Java에서 HTTP HttpClient를 만드는 방법

인터넷은 매일 서로 통신하는 수천 개의 웹 응용 프로그램으로 구성된다. 이러한 응용 프로그램은 일반적으로 HTTP를 통해 통신한다. HTTP는 일반적으로 클라이언트-서버 아키텍처를 따른다. 클라이언트는 HTTP request를 전송하여 서버와의 통신을 시작한다. 이후 서버는 HTTP response으로 응답한다. 1. Java의 HTTP 메시지란? Java에는 request, response이라는 두 가지 유형의 HTTP 메시지가 있다. HTTP Request HTTP request는 일반적으로 start line , HTTP header, blank line, body로 구성된다. 시작 줄과 HTTP 헤더를 총칭하여 head라고 한다. Start Line HTTP 요청의 시작 줄은 HTTP 메서드, 요..

development 2023.02.06
반응형