본문 바로가기

쓰레드4

[자바]쓰레드, 동기화(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.
[안드로이드]핸들러-Handler 안드로이드 프로그래밍 - Handler 오랜만의 포스팅이네요. 오늘은 핸들러에 대해서 포스팅을 해보려고 합니다. 1. 핸들러의 정의(Handler's Definition) 핸들러라고 하면 사실 몇가지 다양한 의미가 있습니다. 인터럽트 핸들러(interrupt handler) : 인터럽트 접수에 대응하여 특정 기능을 처리하는 기계어 코드 루틴 자바 핸들러(java.util.logging.handler) : 자바 프로그램 진행중 발생한 로그를 출력하는 방법을 다루는 클래스 안드로이드 핸들러(android.os.Handler) : 이번에 다룰 핸들러 먼저 안드로이드 핸들러는 쓰레드(Thread)/메시지(Message)/루퍼(Looper)/Runnable/Parcelable 클래스 등과 관련이 있습니다. 글을 .. 2015. 12. 17.