본문 바로가기

Java Programming

Multi-Threading ② Features of Threads

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
자바에서의 스레드는 아래와 같은 특징이 있습니다.
Share the process's resources

Potentially problematic, communication
   - Concurrecy Problem
   - Too many synchronized
   - Deadlock

Multithreaded execution is an essential feature of the Java platform
프로세스의 자원을 공유하고, 의사소통에서의 잠재적인 문제야기의 가능성이 있으며, 자바의 중요한 특징 중에 하나라는 점입니다.

첫째로, 프로세스의 자원을 공유한다는 말은, 프로세스 내부에 존재하는 스레드가 실행환경을 위해 모든 것을 갖추고 있는 프로세스의 자원을 사용하여 실행이 된다는 뜻이라는 것을 알 수 있습니다. 스레드는 프로세스와 다르게 적은 리소스만으로 생성 되는것이 아니라 프로세스 내부에서 프로세스의 자원을 공유하기 때문에 적은 양의 리소스만을 요구 하는 것입니다. 아래의 그림을 보시면 더욱 수월하게 이해하실수 있을겁니다 ^^

사용자 삽입 이미지

둘째로, 잠재적인 문제를 일으킬 가능성이 있다고 하는데, 첫째로는 병행성의 문제, 너무 많은 동기화의 문제와, 데드락이라는 문제가 발생 된다는 것을 말하고 있습니다. 멀티 스레드에서는 자원을 공유한다는데서, 병행성의 문제가 생기고 그 때문에 동기화를 사용하여 병행성 문제를 해결할 수 있지만 많은 동기화를 사용하면 데드락과 같은 문제점이 발생할 수 있다는 그런 내용입니다. 차차 자세히 알아보도록 하겠습니다.

셋째로는 멀티스레딩을 한다는 것이 자바의 큰 특징이라는 점인데요. 이 부분은 자바라는 프로그래밍 언어의 특징이기 때문에 따로 부연 설명을 하기는 어려울 것 같습니다.