반응형 전체 글184 쿠버네티스 어나더 클래스 (지상편) - Sprint 1, 2 섹션 1. ⭐ 소개 합니다 섹션 2. 📕 Sprint1 > 쿠버네티스 제대로 시작하기 섹션 3. ▫▫📂 컨테이너 한방 정리 주로 사용하는 linux 계열은 debain 과 redhat 계열이 있다. IBM 인수 후 rhel 배포 프로세스 변경 이 후 CentOS8 - 2021년 지원 종료CentOS7 - 2024년 지원 종료 그래서 사람들이 rhel 안정화 배포 버전 기반으로 오픈소스로 만든 rocky linux, alma linux들이 있고 그 중에 사용과 참여율이 높은 rocky linux를 많이 사용한다고 함. 섹션 4. ▫▫📂 쿠버네티스 무게감 있게 설치하기 섹션 5. ▫▫📂 실무에서 느껴 본 쿠버네티스가 정말 편한 이유 섹션 6. 📕 Sprint1 > 쿠버네티스 첫 오브젝트 잘.. 2025. 8. 12. 성능 및 지연 시간 최적화 개요 🕒 지연 시간 (Latency)정의: 하나의 작업을 완료하는 데 걸리는 시간 (단위: 시간)목표: 개별 작업이 빠르게 완료되도록 최적화🔧 멀티스레드 환경에서의 고려 사항스레드 수 결정일반적으로 CPU의 코어 수에 맞춰 스레드를 구성하는 것이 가장 효율적각 코어는 동시에 하나의 스레드를 처리할 수 있으므로 병행 처리가 가능작업 분할과 병합 비용작업을 여러 개로 분할 후, 다시 병합하는 과정에서 오버헤드가 발생할 수 있음분할/병합의 비용이 지연 시간보다 커지면 오히려 성능 저하Context Switching 비용스레드 수가 코어 수를 초과하면 스케줄링에 따라 스레드가 번갈아 실행이 과정에서 문맥 교환(Context Switch) 발생 → 지연 시간 증가 및 CPU 효율 저하작은 애플리케이션의 경우단순하거.. 2025. 5. 25. 섹션 3 : 스레딩 기초 (스레드 연결) 💡 Java Thread Coordination (스레드 조정) - Thread.join()🔍 1️⃣ 개요멀티스레드 환경에서 한 스레드가 다른 스레드의 실행 결과가 필요할 때 어떻게 기다릴지에 대한 문제를 해결합니다.예를 들어, 스레드 A가 스레드 B의 결과를 기다려야 한다면, A가 무한히 확인하는 것이 아니라, 효율적으로 대기할 수 있어야 합니다.📝 2️⃣ 문제점While Loop로 대기하는 방식A 스레드가 B 스레드의 작업 완료를 무한 반복(while)으로 확인하는 방식CPU 리소스를 매우 많이 소모하며, 비효율적입니다.✅ 3️⃣ 해결책: Thread.join()Thread.join() 메서드를 사용하면, 다른 스레드가 완료될 때까지 현재 스레드의 실행을 일시 중지합니다.B 스레드가 완료되면 A.. 2025. 5. 18. 섹션 3: 스레딩 기초 - 스레드 조정 💡 Java에서 스레드를 정지하는 방법과 Interrupt의 필요성🔍 1️⃣ 스레드 정지가 필요한 이유스레드는 아무것도 하지 않아도 메모리와 커널 리소스를 사용합니다.CPU 시간과 캐시 공간도 소모하기 때문에, 작업이 끝난 스레드는 정리하는 것이 좋습니다.특히, 메인 스레드가 종료되어도 다른 스레드가 살아있으면 어플리케이션은 계속 실행됩니다.예기치 않은 오류나 무한 루프에 빠진 스레드가 존재하면, 리소스 낭비가 발생합니다.🔄 2️⃣ Thread.interrupt()의 역할interrupt() 메서드는 스레드에 인터럽트 플래그를 설정합니다.이 플래그를 확인하여 스레드가 멈추거나 특정 로직을 수행하도록 유도합니다.특히, Blocking 상태 (예: sleep, wait, join)에서는 Interrup.. 2025. 5. 18. 멀티스레드를 활용한 금고 해킹 시뮬레이션 (자바 구현) 💡 멀티스레드를 활용한 금고 해킹 시뮬레이션예제 코드 깃허브 : https://github.com/Tonyzorz/MultiThreading/blob/master/src/main/java/thread/vault/Main.java🔓 시나리오 설명금고 (Vault) 안에 비밀번호가 설정되어 있습니다.두 명의 해커가 각각 오름차순 (Ascending), 내림차순 (Descending) 방식으로 비밀번호를 추측합니다.**경찰 (Police)**은 10초 후에 도착하여 해커들을 잡습니다.만약 해커가 먼저 비밀번호를 맞추면 금고를 털고 도망갑니다.반대로 경찰이 먼저 도착하면 해커는 모두 체포됩니다.🔄 클래스 구조 및 설명 🔐 1️⃣ Vault (금고 클래스)금고의 비밀번호를 저장하고, 해커가 입력한 값이 .. 2025. 5. 18. 섹션 2: 스레딩 기초 - 스레드 생성 (스레드의 기능 + 스레드 상속) 💡 Java에서 Thread 생성 및 실행 정리🔄 1️⃣ Thread 생성Java에서 모든 스레드 관련 속성과 메서드는 Thread 클래스에 정의되어 있습니다.Thread를 생성할 때는 Thread 클래스 객체를 생성합니다.생성자에 Runnable 인터페이스를 전달해야 합니다.public class Main { public static void main(String[] args) { Thread thread = new Thread(new Runnable() { @Override public void run() { // Code that will run in a new thread. } .. 2025. 5. 18. 이전 1 2 3 4 ··· 31 다음 반응형