Programming (3) 썸네일형 리스트형 [해커톤] 8th NE(O)RDINARY HACKATHON CMC 17기를 진행하면서 필수 참가 였던 8th NE(O)RDINARY HACKATHON (25.05.17~25.05.18)에 참여 했다. 결론부터 말하자면... 이번 해컨톤을 통해 리딩과 인프라 구성 능력 모두 아직 한참 부족하다는 걸 절실히 느꼈다... 아쉽게도 백엔드 파트를 끝까지 마무리 하지 못했지만, 이번 경험을 통해 무엇을 배웠고, 앞으로 무엇을 더 보완하고 학습해야 할지 있는 그대로 솔직하게 기록해보려고 한다. 아이디어 회의 - 그리고 '패션트립'의 시작I 팀으로 팀원 구성은 기획자 1명, 디자이너 1명, iOS 개발자 2명, Spring Boot 개발자 3명으로 배정되었다. 그중 CMC 4명, UMC 3명이 한 팀이 되어 해커톤을 함께 했다. 이번 해커톤 대주제는 "자연과 함께하는 지속.. 자바 스레드의 이해와 기본 동기화 메커니즘 더보기 목차1. 왜 스레드를 이해해야 하는가?2. 자바에서의 스레드와 코어 개념 정리3. 자바 동기화 기초: synchronized 키워드4. ThreadLocal - 스레드별 상태를 안전하게 관리하는 방법5. 다양한 락 비교6. 정리 - 어떤 상황에서 어떤 동기화 도구를 선택해야 하나? 1. 왜 스레드를 이해해야 하는가?우리가 프로그램을 실행하고, 실행을 위해 운영체제에서 메모리 공간을 할당받아오게 되면, 그 공간에서 프로그램이 올려져 실행되게 된다. 이 작업을 이해하기 위해 우리는 스레드를 이해해야 한다. 운영체제에서 스레드는 프로세스 내부에서 실행되는 작은 작업 단위이다. 하나의 프로세스는 여러 개의 스레드를 포함할 수 있으며, 이 스레드들은 프로세스의 메모리 공간을 공유한다. 그래서 프로세스는 뭔.. ConcurrentHashMap 개념과 동기화 동작 원리 synchronized 키워드멀티스레드 환경에서는 여러 스레드가 하나의 공유 자원에 동시에 접근하지 못하도록 막는 '스레드 동기화'가 필수다. 스레드 동기화가 되지 않은 경우 여러 스레드에서 서로 공유하고 수정할 수 있는 데이터에 대한 안전성과 신뢰성을 보장 할 수 없게 된다. Java 에서는 synchronized 키워드를 사용하여 여러 스레드 간 동기화가 필요한 부분(임계영역)에 동시에 접근하는 것을 금지함으로써 공유 자원에 대한 스레스-세이프 를 가능하게 한다. --> synchronized 키워드를 남용하는 경우 프로그램 성능 저하 원인 why? block/unblock 처리의 경우 어느 정도의 시스템 자원이 소모되는 작업이기 때문 HashTable VS HashMap VS ConcurrentH.. 이전 1 다음