concurrent한 상태에서 프로세스와 쓰레드 차이점 질문입니다
글쓴이: wonjnlee / 작성시간: 금, 2017/08/25 - 2:32오후
안녕하세요
시험을 준비중인데, 이 내용은 어떻게 답변을 하는게 맞을지 모르겠어서 질문 드립니다.
[질문]
Concurrent 한 작업 2개가 있다. 한 작업이 어떤 정보를 생성하여 다른 작업에 전해 주어야 한다. 이를 구현하기 위해 thread 2개를 이용하거나 또는 process 2개를 쓸 수 있다.
(1) Thread를 사용할 때 이 두 작업 간에 정보를 전달하는 방식을 설명하시오.
(2) 프로세스를 사용할 때 이 두 작업 간에 정보를 전달하는 방식을 설명하시오.
(3) 이 작업을 수행하는데 thread를 쓸 때와 프로세스를 쓸 때 중 어느 것이 시간이 많이 걸리는 지 쓰고, 왜 그런지 설명하시오.
프로세스와 쓰레드의 차이를 말하는건지
concurrent환경에서 값을 전달하는 과정이라 어떻게 적어야할지 모르겠습니다.
도와주세요ㅠㅠ
Forums:
synchronization을 말하고 있습니다.
synchronization을 말하고 있습니다.
==> 정정 Interprocess Communication이 더 정확하겠네요.
Task/Thread/Process Synchronization을 예로 들을 수 있는데,
중요한 차이는 Thread 들은 같은 메모리 공간을 공유하지만, process 들은 그렇지 않습니다.
정보를 전달하기 위해서는 간단히 thread 들은 메시지 큐 등을 써서 할 수 있습니다.
반면 process 사이는 공유 메모리(shared memory) 등을 통해서 교환하여야 합니다.
그러니 정리하자면 프로세스와 쓰레드의 구분도 요구하고 있고, concurrent 한 환경의 값 전달하는 것도 요구하고 있네요.
세모포, 메시지 큐와 공유 메모리를 조사해 보세요.
댓글 달기