Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[운영체제] 6. 멀티스레드 프로그래밍에 대해 설명해보세요. #56

Open
zbqmgldjfh opened this issue Oct 11, 2022 · 1 comment
Labels
OS 운영체제 질문

Comments

@zbqmgldjfh
Copy link
Collaborator

멀티스레드 프로그래밍에 대해 설명해보세요.

키워드

OS, Thread, Multi Thread

@zbqmgldjfh zbqmgldjfh added the OS 운영체제 질문 label Oct 11, 2022
@zbqmgldjfh
Copy link
Collaborator Author

멀티스레드 프로그래밍 : 여러 스레드로 동작시키는 것을 멀티 스레드라고 합니다.

멀티 스레드의 장점으로는 자식 프로세스를 생성하거나 Context Switching과 같은 오버헤드가 많이 발생하는 작업이 없어짐으로 시스템의 처리량이 증가합니다.

멀티 스레드의 단점으로는 프로세스의 Code, Heap, Data 메모리 영역을 공유하기 때문에 동기화 문제가 발생할 수 있다는 점입니다.
또한 하나의 스레드에서 문제가 발생하면 전체 프로세스가 영향을 받을 수 있어서 이러한 부분을 주의해야 합니다.

(추가) 멀티 프로세스와 멀티 스레드는 각각 언제 사용하는것이 좋을까요?

CPU가 처리해야하는 task의 특성이 크기가 크지 않으면서 개수가 많을 경우나 실시간성이 중요한 웹과 같은 경우 멀티 스레드를 사용하는 것이 좋구요, CPU가 처리해야하는 task의 특성이 크기가 크면서 개수가 적은 경우나 실시간성이 중요하지 않은 일괄 처리 같은 경우 멀티 프로세스를 사용하면 좋습니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
OS 운영체제 질문
Projects
None yet
Development

No branches or pull requests

1 participant