본문 바로가기

Development/JAVA8

[자바]쓰레드, 동기화(Synchronization)와 교착상태(DeadLock) 자바 프로그래밍 - 쓰레드, 동기화와 교착상태 오늘은 쓰레드의 연장선, 동기화 및 교착상태에 대해서 포스팅 해보도록 하겠습니다. 쓰레드는 프로그래밍에 매우 빈번히 활용되는 개념, 클래스입니다. 하지만 이 쓰레드는 동시다발성이라는 특성이 있기 때문에 서로 자료를 중복해서 다루게 된다면 치명적인 오류가 발생 가능합니다. 이것을 막기 위해 '동기화(Synchronization)'을 해야 합니다. 하지만 이 동기화라는 조건은 교착상태를 유발할 수 있어 그것도 염두하며 프로그래밍 해야 합니다. 쓰레드를 사용할 경우 충돌을 막기 위해 동기화를 해야되는데 교착상태에 유념해야 한다. 어중이 떠중이 잘 알지도 못하는게 떠들었네요, 시작합니다! 1. 동기화의 필요성(Necessity of Synchronization) 그.. 2015. 12. 31.
[자바]extends와 implements의 차이점 자바 프로그래밍 - extends, implements 차이점 자, 자바에서 헷갈릴 수 있는 개념 중 하나임과 동시에 자바 프로그래밍, 아니 객체지향프로그래밍(Object oriented programming)에서 매우 중요한 내용 중 하나입니다. 시작합니다! 1. 상속이란(Inheritance) 객체지향 프로그래밍이란 단순하게 보면 Object들이 서로서로 짜임새 있게 논다. 라고 단순히 표현할 수 있습니다만 어렵게 보면 6대 특징이니 5대 원칙이니를 들먹이면서 멋진척을 할 수 있습니다. 여기서 OOP(객체지향프로그래밍)의 특징은 무엇이냐 (6대냐 5대냐 4대냐 그런거 따지고 싶지 않습니다. 사람마다 다르고 자료마다 다릅니다. 중요한 포인트 기준으로 이해만 하시기 바랍니다..) 1. 상속과 인터페이스 .. 2015. 12. 21.
[자바]Runnable과 쓰레드(Thread)와의 관계 자바 프로그래밍 - Runnable 이 글을 보시기 전에 Thread에 대해서 익혀오시는걸 추천합니다 ^^; 아, extends(상속)과 implements(인터페이스)의 차이점에 대해서도 포스팅 해놓도록 하겠습니다~ [자바-Java]쓰레드-Thread [자바-Java]extends와 implements의 차이점 요점은! 결국에 Runnable == Thread 라고 하셔도 무방합니다. (퍼퍽..) 죄송합니다. Runnable != Thread(상속)..! 다릅니다. 사용을 잘 구분하셔야되요ㅎ.. 단지 같은점은 run()을 정의해야 한다는 것입니다. 이 run은 Thread에서 실행되는 메소드인데 그 run이 Thread를 extends함으로써 @override(오버라이딩)될 것이냐, 또는 Runnabl.. 2015. 12. 21.
[자바]쓰레드-Thread 자바 프로그래밍 - Thread 1. 쓰레드의 정의(Thread's Definition) 사실 Java의 Thread라고 하긴 했지만 '쓰레드'라는 자체는 자바에서만 있는 개념이 아닌 프로그램의 기본적 구조에 포함되는 개념입니다. 스레드(thread)는 어떠한 프로그램 내에서, 특히 프로세스 내에서 실행되는 흐름의 단위를 말한다. 일반적으로 한 프로그램은 하나의 스레드를 가지고 있지만, 프로그램 환경에 따라 둘 이상의 스레드를 동시에 실행할 수 있다. 이러한 실행 방식을 멀티스레드(multithread)라고 한다. 위의 내용은 위키피디아가 쓰레드를 정의한 내용입니다. (스레드라네요, 그래도 저는 쓰레드로 밀어 붙일겁니다. ^오^)저 말을 조금 더 분석 해봅시다. 프로그램 내에서, 특히 프로세스 내에서 라.. 2015. 12. 19.