Unix/Linux/Mac

[Unix] fork/exec과 thread의 효율성 차이

[ CnUnix ] in KIDS
글 쓴 이(By): guest (guest) <210.112.75.30>
날 짜 (Date): 2001년 1월 4일 목요일 오전 09시 53분 46초
제 목(Title): [Q] 둘 이상의 프로세스간의 통신

둘 이상의 프로세스간에 통신을 해야 하는데요, 같은 머신에서 돌고 한 프로세스가 나머지 프로세스들을 fork시키는 구조거든요. 첫 프로세스가 메모리를 매우 많이 사용하고 나머지 것들이 그 메모리를 같이 이용하는 구조로 가려는데
정확히 어떤 방법을 써야할지 막막하네요.

그리고, 이런 구조에서 프로세스를 fork해서 사용하는 것이랑 pthread 만들어서 쓰는 것이랑 어떤 것이 더 효율적일까요?

[ CnUnix ] in KIDS
글 쓴 이(By): terzeron (microkid)
날 짜 (Date): 2001년 1월 4일 목요일 오전 11시 22분 53초
제 목(Title): Re: [Q] 둘 이상의 프로세스간의 통신

메모리야 공유메모리로 쓰면 어느 게 더 효율적인지는 별 상관없는 듯 하고, fork/exec 오버헤드를 생각해보면 thread를 쓰는 게 좀 유리하긴 하겠죠.

다만 메모리를 공유한다던가 thread들이 공유변수(static, global vars)들을 사용하는 경우에는 동기화 작업을 해야 하니까 이게 좀 신경 쓰이는 부분이겠네요.

[ CnUnix ] in KIDS
글 쓴 이(By): nagnea ( 겨 울 비 )
날 짜 (Date): 2001년 1월 4일 목요일 오후 04시 22분 13초
제 목(Title): Re: [Q] 둘 이상의 프로세스간의 통신

제 경험이지만, 프로그램의 robust가 아주 중요하다면, pthread는 적합하지 않습니다. 아직까지도 불안하더군요. 특히, linux에서는 더욱 심각합니다.

답글 남기기