어휴..ㅠ.ㅠ..절망 모드입니다. 메세지 큐 사용문제입니다.ㅜㅜ
글쓴이: 초보 / 작성시간: 일, 2003/11/09 - 8:32오후
도저히 모르겠네요..책을뒤져두. 프로세스 2개만 동기화 나오는 예제만있구
제가 하려는 작업은
배열 40 개에 프로세스1,2,3,4 개를 생성시켜
프로세스1은 배열첨자1에 1을..2는 2를 3은 3을....
배열40개에 1,2,3,4,1,2,3,4,1,2,3,4 이렇게 들어가도록 순서를 동기화
시켜야하거든요.
메세지 큐를 사용해야하는데..도저히 모르겠습니다.
이렇게 어려운 리눅스 프로그래밍을 어떻게 하시는지 부러울따름입니다.
프로세스 1 이 메시지 큐에서 읽은값이 1이면 자신이 쓰고
다시 메시지큐에 2를쓰고..2는 2일때만 쓰고 3으로다시 쓰고..
이런식으로 해야하나요?...
아니면 큐에 1,2,3,4,1,2,3,4.... 미리 등록시켜놓구
읽어드리면서 처리해야하나요?
어휴~~~
죄송하지만 간단히 코드로좀 구현해 주실수없는지요...
초보한텐 말보단 코드를 보여주시면 정말 이해가 빠를듯합니다.
하루죙일 고민해두 안되네요...
선배님들의 가르침을 기다리겠습니다.
좋은 저녁되세요
Forums:
이런 기능이 왜 필요한 것인지?
구현하는 방법은 여러가지가 있을텐데요...
일딴 왜 이런 기능이 필요한것인.. 알면 더 좋을것 같습니다.
이런 구조가 썩 바람직한것 같지 않아서 그 상위의 문제를 듣고
다른 구조를 설계하는게 좋겠습니다.
(연습삼아 구현하시는 것이라면.. 이야기가 달라지겠네요.)
울랄라~ 호기심 천국~!!
http://www.ezdoum.com
글쎄요..
일단 무엇을 하시려는지는 잘 모르겠지만 대충보니 idtype 의 속성을
이용하시면 될것 같군요.
일단 메세지큐에는 idtype 이라는것이 있습니다. 이 idtype 에 따라서 각기
프로세스별로 자기에게 할당된 idtype 의 내용을 큐에서 꺼내게 되는데
일단 님께서는 1,2,3,4 라는 4개의 프로세스를 생성하셨고 그것을 40개의
배열에 담으신다면 idtype 의 값을 1,2,3,4 로 무조건 담으시면 될듯합니다.
물론 40까지의 값은 무조건 4로나눈 나머지를 구해서 각각 idtype 에 담으시면
어떤 수치든지 1,2,3,4 등의 값중 하나로 나오겠지요.
제가 잘못 이해를 했는지는 모르겠지만 1,5,9,13,17,21... 이런식으로
첫번째 프로세스가 사용해야 하고 두번째는 2,6,10 ... 이런식으로 사용
하시려는 것이지요?
메세지큐는 idtype 에 따라 자기에게 해당되는 메세지를 가지고 오므로
각 프로세스에서 해당 40개의 값을 나눈 나머지의 값을 idtype 에 셋팅하면
메세지큐에 넣거나 꺼내올때 무리가 없을듯 합니다.
그냥 제 생각이므로 참고만 하시고 제가 이해를 잘 못했을수도 있으니
그냥 보세요.
SpeedBen
댓글 달기