Thread 1) 멀티 스레드 자원 교착 상태 해결법

Thread 1) 멀티 스레드 자원 교착 상태 해결법

1. 프로세스Process 프로세스는 쉽게 말하면 컴퓨터에서 실행되고 있는 모든 프로그램들을 말합니다. 다른 말로 실행 인스턴스라고도 할 수 있으며, 더 분명한 용어로는 실행 인스턴스를 나타내는 독립적인 단위를 의미합니다. ex 컴퓨터에서 엑셀을 실행한다면 엑셀 프로세스가 실행되고 있는 것입니다. 각각의 프로세스는 운영체제OS로 부터 register, stack memory, heap memory 영역을 부여받는다. 2. 스레드Thread 프로세스의 내부에서 실행되는 더 작은 단위의 실행단위입니다.


하드웨어적 스레드
하드웨어적 스레드

하드웨어적 스레드

하나의 코어가 동시에 진행하여 처리하는 명령어의 단위입니다. 하나의 코어가 동시에 진행하여 하나의 명령을 받아들여서 처리할 수 있다면야 이것을 1코어 1스레드 CPU라고 부른다. 원래 하나의 코어에 하나의 스레드가 존재했지만 하이퍼쓰레딩이라는 기술이 생겨나면서 코어보다. 스레드가 더 많아지는 것도 가능해졌다. 하나의 코어가 동시에 진행하여 2개의 명령을 처리할 수 있고 2개의 코어가 존재한다면 2코어 4스레드 CPU라고 부른다. 하나의 코어가 여러개의 명령을 처리할 수 있는 프로세서를 멀티 스레드 CPU 혹은 멀티 스레드 CPU라고 부른다.

메모리 내의 프로그램이 CPU가 몇 코어 몇 스레드인지는 알 수 없습니다.. 단지 동시에 진행하여 몇개의 작업 흐름이 있는지 알 뿐입니다.

스레드 가입
스레드 가입

스레드 가입

instagram에서 연동을 통해 가입하거나 App Store나 Play Store에서 해당 앱을 다운받아 가입하면 됩니다. 어플을 설치하면 본인의 인스타그램 아이디로 바로 로그인을 할 수 있고 계정 전환도 가능합니다. 인스타그램과 동일한 계정명을 사용하게 되는데, 다만 프로필 사진과 소개글은 따로 설정이 가능합니다. 인스타그램과 연동해 동일한 계정을 팔로우할 수 있고, 인스타그램에서 차단한 계정은 스레드에서도 차단됩니다.

또 스레드에서 인스타그램 스토리 기능에 바로 게시물을 공유할 수도 있습니다. 이 밖에 만 16세 미만 이용자의 경우 스레드에 처음 로그인하면, 계정이 비공개로 기초 설정됩니다.

스레드와 인스타 차이점

instagram은 사진 및 영상을 주 메인으로 올리는 SNS였다면 Threads는 텍스트 위주의 피드가 특징입니다. 스레드는 한 포스팅 당 최대 500자까지 작성할 수 있어 짧고 간단히 실시간으로 의사소통하는 공간입니다. Threads는 실시간 소통 공간으로 텍스트최대 500자와 사진, 영상5분 이내를 올려둘 수 있으며 게시글 수정은 불가합니다. 사진 비율을 바꿀 수 없으며 PC로는 사용할 수 없습니다.

프로세스 계층 구조

프로세스는 실행 도중 시스템 호출을 통해 다른 프로세스를 생성할 수 있어요. 이 때 개발된 프로세스를 자식 프로세스라 하고 자식 프로세스를 생성한 프로세스를 부모 프로세스라고합니다. 두 프로세스는 엄연히 다른 프로세스이기에 각각 다른 PID를 가진다. 일부 운영체제에서는 자식 프로세스의 PCB에 부모프로세스의 PID인 PPIDParent PID가 기록되기도 합니다. 많은 웅영체제가 이렇게 프로세스가 프로세스를 낳는 계층적인 구조로써 프로세스들을 관리합니다.

소프트웨어적 스레드

하나의 프로그램에서 독립적으로 실행되는 단위를 말합니다. 프로그램 스레드는 프로그램 상에서 병렬적으로 작업 나누고, 일을 할당할 때 쓰인다. 이 스레드가 하드웨어 스레드에 올라가 실행되는 것입니다. 따라서 프로그램 스레드가 아무리 많아도 하드웨어 스레드의 개수에 따라 동시에 진행하여 실행될 수 있는 작업량이 결정되는 것입니다. 2코어 4스레드 CPU라고 한다면 프로그램 스레드가 100개 있다고 가정할 때 동시에 진행하여 동시에 진행하여 실행될 수 있는 작업은 4개 뿐입니다.

이같은 경우애 나머지 다른 프로그램 스레드들은 하드웨어 스레드에 올라갈 때 까지 기다리고 있는다.

멀티프로세스와 멀티스레드

같은 작업 수행하는 것에 있어서 여러 프로세스를 실시하는 것과 여러 스레드로 실시하는 것의 차이는 자원을 나누는 가의 차이에 있습니다. 여러 프로세스로 병행 실행 할때엔 동일한 내용들을 각각의 프로세스가 가지고 있기에 같은 자원을 나누는 멀티 스레드로 병행 실행 할때보다. 메모리의 낭비가 크다. 허나 프로세스의 자원을 공유해야만 되는 특성은 하나의 스레드에 문제가 생기면 자원을 나누는 다른 스레드도 영향을 받기때문에 프로세스 전체에 문제가 생길 수 있다는 단점이 있습니다.

프로세스 간 통신InterProcess Communication IPC 프로세스끼리는 기본적으로 자원을 공유하지 않지만, 공유 메모리shared memory 나 소켓, 파이프 등을 통해 통신 할 수 있어요.

자주 묻는 질문

하드웨어적 스레드

하나의 코어가 동시에 진행하여 처리하는 명령어의 단위입니다. 궁금한 내용은 본문을 참고하시기 바랍니다.

스레드 가입

instagram에서 연동을 통해 가입하거나 App Store나 Play Store에서 해당 앱을 다운받아 가입하면 됩니다. 궁금한 내용은 본문을 참고하시기 바랍니다.

스레드와 인스타 차이점

instagram은 사진 및 영상을 주 메인으로 올리는 SNS였다면 Threads는 텍스트 위주의 피드가 특징입니다. 더 알고싶으시면 본문을 클릭해주세요.