본문 바로가기

thread4

[자바]싱글턴 패턴(Singleton Pattern)과 콜백함수(Callback)(1) [자바]싱글턴 패턴(Singleton Pattern)과 콜백함수 자바 네트워크 프로그래밍시 TCP/UDP를 막론하고 Socket 객체는 필수적이다. 이 네트웤 프로그래밍시 단순한 상상만으로 안되는게 몇가지 있다. 여기서 이 소켓 객체를 관리하는 법 데이터를 주고 받는 법 프레임 내 컴포넌트들을 다루는 법 싱글턴 패턴 여기서 소켓 객체 관리는 싱글턴 패턴이라는 디자인 패턴을 이용한다. 디자인 패턴이란 문학에서 기승전결과 같다. 프로그래밍시 다루는 어떤 형식을 패턴으로 정리를 한 것이다. 하나의 기법이라고나 할까. 싱글턴 패턴은 이름과 같이 싱글, 하나의 객체를 다루는 것이다. 소켓은 매우 약한 존재다. 조금만 삐그덕 하면 Exception을 내세우고 죽어버린다. 특히 중복 소켓 선언시 하나는 반드시 죽을 .. 2016. 10. 29.
[자바]쓰레드, 동기화(Synchronization)와 교착상태(DeadLock) 자바 프로그래밍 - 쓰레드, 동기화와 교착상태 오늘은 쓰레드의 연장선, 동기화 및 교착상태에 대해서 포스팅 해보도록 하겠습니다. 쓰레드는 프로그래밍에 매우 빈번히 활용되는 개념, 클래스입니다. 하지만 이 쓰레드는 동시다발성이라는 특성이 있기 때문에 서로 자료를 중복해서 다루게 된다면 치명적인 오류가 발생 가능합니다. 이것을 막기 위해 '동기화(Synchronization)'을 해야 합니다. 하지만 이 동기화라는 조건은 교착상태를 유발할 수 있어 그것도 염두하며 프로그래밍 해야 합니다. 쓰레드를 사용할 경우 충돌을 막기 위해 동기화를 해야되는데 교착상태에 유념해야 한다. 어중이 떠중이 잘 알지도 못하는게 떠들었네요, 시작합니다! 1. 동기화의 필요성(Necessity of Synchronization) 그.. 2015. 12. 31.
[자바]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.