IT/Etc

쓰레드란 무엇일까? (thread)

스레드(thread)는 어떠한 프로그램 내에서, 특히 프로세스 내에서 실행되는 흐름의 단위를 말한다. 일반적으로 한 프로그램은 하나의 스레드를 가지고 있지만, 프로그램 환경에 따라 둘 이상의 스레드를 동시에 실행할 수 있다. 이러한 실행 방식을 멀티스레드(multithread)라고 한다.

프로세스와 스레드의 비교

멀티프로세스와 멀티스레드는 양쪽 모두 여러 흐름이 동시에 진행된다는 공통점을 가지고 있다. 하지만 멀티프로세스에서 각 프로세스는 독립적으로 실행되며 각각 별개의 메모리를 차지하고 있는 것과 달리 멀티스레드는 프로세스 내의 메모리를 공유해 사용할 수 있다.

또한 프로세스 간의 전환 속도보다 스레드 간의 전환 속도가 빠르다.

멀티스레드의 다른 장점은 CPU가 여러 개일 경우에 각각의 CPU가 스레드 하나씩을 담당하는 방법으로 속도를 높일 수 있다는 것이다. 이러한 시스템에서는 여러 스레드가 실제 시간상으로 동시에 수행될 수 있기 때문이다.

( 출처 : 위키백과)

 

솔직히 비전공자 입장에서는 이렇게 써놔도 잘 모르는거 압니다.

저도 써놓고도 아 그렇구나...? 정도거든요

하지만 프로세스와 스레드의 비교 및 정의에 대한 개념이 없으시면 웹이든 엔지니어링이든

분명히 다들 애로사항이 있으실 거라 생각해서 퍼왔습니다.

같은처지에 계신 분들께 도움이 되길 바라며 이만