어휴..ㅠ.ㅠ..절망 모드입니다. 메세지 큐 사용문제입니다.ㅜㅜ

초보의 이미지

도저히 모르겠네요..책을뒤져두. 프로세스 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.... 미리 등록시켜놓구
읽어드리면서 처리해야하나요?
어휴~~~
죄송하지만 간단히 코드로좀 구현해 주실수없는지요...
초보한텐 말보단 코드를 보여주시면 정말 이해가 빠를듯합니다.
하루죙일 고민해두 안되네요...
선배님들의 가르침을 기다리겠습니다.
좋은 저녁되세요

choissi의 이미지

구현하는 방법은 여러가지가 있을텐데요...
일딴 왜 이런 기능이 필요한것인.. 알면 더 좋을것 같습니다.

이런 구조가 썩 바람직한것 같지 않아서 그 상위의 문제를 듣고
다른 구조를 설계하는게 좋겠습니다.
(연습삼아 구현하시는 것이라면.. 이야기가 달라지겠네요.)

울랄라~ 호기심 천국~!!
http://www.ezdoum.com

screen71의 이미지

일단 무엇을 하시려는지는 잘 모르겠지만 대충보니 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

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.