select에 대하여

익명 사용자의 이미지

select를 이용해서 블록을 사용하는 프로세서외에 다른 프로세서는
수면에 들어가게 할려고 하는데 어떻게 하는지 잘 모르겠습니다...
select문에 간단한 예나 이용방법좀 가르쳐 주시길 바랍니다!...
너무 어렵군요~ㅠㅠ

익명 사용자의 이미지

음 정확히 질문내용이 이해가 잘안되네여..

그런경우는 select보다는 세마포어나 쓰레드의 mutex를 사용하는게 더 좋
을듯 하네여...

익명 사용자의 이미지

죄송합니다 그때 너무나 급한 나머지 잠결에 글을 써서 무슨 소리인지
저도 지금보니 무슨 말인지 이해을 하기가 어렵네요
제가 우선적으로 궁금한 것은 select 문의 이용법입니다. 책을 아무리
봐도 첨은 인자와 그 다음 read, write, error, time 인자들은 알겠는데
그것을 이용하여 논리을 구한다는것이 이해가 안되서요. fd_set으로
설정하는 것은 알겠는데 그 다음에 논리부분에서 막혀서요 이렇게
글을 올리게 되었습니다 고민하다가 끝내 여기에다가 글을 올리게 되었
습니다 근데 고민해서 나온 결과가 없네요 ㅠ.ㅠ select으로 자식하구
부모 프로세서를 따로 잡아줄수있나요? 도움좀 부탁드립니다 자그마한
예제가 큰 도움을 ㅠ.ㅠ
세마포어는 select 알려고 안썼습니다 ^^; 답변 부탁드립니다

익명 사용자의 이미지

어떤 방식의 프로그램을 만들려고 하는지는 모르겠지만..

자식과 부모프로세스의 동기화를 위해 select를 쓴다는 것은 저도 보지 못
했네여...

재가 아는 select는 리드시에나 wirte시에 비동기적으로 처리하기 위해
사용되는 함수로 알고 있거덩여??

즉 fd_set에 등록되어있는 파일 디스크립트들을 폴링으로 체크하여
해당 디스크립터가 셋 되어있으면 select함수가 리턴되어지고..
IS_FDSET으로 체크하여 해당 플로어를 처리하는 함수인데..

즉 이것은 IPC로 사용되어지지 않지요..

부모와 자식프로세스간의 동기화는 결국 IPC를 사용하여 준비됬나..묻고
준비됬다고 하면 그럼 너 블럭해라 내가 처리한다 이런 서로간의 커뮤니케
이션이 이루어지는건데 select는 입출력에 대한 처리 함수져..

에거 대답이 왜일케 갈팡질팡 하지 ^^*

아무튼 프로세스간의 동기화를 하기위한 select는 에는 사용되어지지 않습
니다..

즉 이럴때 마니 쓰이져...

여러개의 connection이 있는 서버가 있습니다.

각각의 소켓 디스크립터는 틀리겠지요???
그럴때 각각의 시트크립터를 셋해서..
비동기적으로 먼저들어오는놈을 처리할때 주 사용법이구여..

또는 좀더 미세한 타이머로서도 사용됩니다..

이상 허접 답변이었네여 ^^*

익명 사용자의 이미지

조금나만 select 함수를 알게 되었습니다 감사드립니다
그래서 님의 말씀대로 select을 이용해서 타이머를 이용하였습니다
처음 의도와는 다르게 만들었지만 하나의 함수를 알게된게
재미있네요 ^^ 답변 감사드립니다

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.