[완료]pthread 사용시에 pthread_mutex_init에 대한 질문입니다.

ecstasy5001의 이미지

pthread_mutex_init 함수가 mutex객체를 초기화 시키는데 사용되는 함수인데

이 함수없이도 mutex_lock & unlock 이 가능하지않습니까?

굳이 pthread_mutex_init을 해줘야 할 필요가 있나요(해줘야 한다면 이유를 알려주세요)?

pthread_mutex_init 함수로 초기화 하지 않았을 경우 발생되는 문제가 있나요?

가르침을 부탁드리겠습니다.

superkkt의 이미지

API에서 이 기능을 사용하기 전에는 반드시 init을 하고 쓰라고 하면 그렇게 따라서 해야합니다. 프로그래머가 API 내부 구현을 알고 있어서 init을 안해도 작동 한다는 사실을 알고 init을 쓰지 않았다면, 나중에 API가 버전업이 되면서 init 함수의 내부 구현이 바뀌게 되었을때 해당 프로그램은 정상 작동을 안하겠죠.

======================
BLOG : http://superkkt.com

======================
BLOG : http://superkkt.com

익명사용자의 이미지

> pthread_mutex_init 함수로 초기화 하지 않았을 경우 발생되는 문제가 있나요?

프로그래머가 해볼때는 잘 되다가 중요한 순간에 안돕니다.

이를테면... 고객 앞에서 최초 시연할 때라든지...

(사실 시스템이 좀 더 친절하면 프로그래머가 해볼 때도 안돼야 하지만 우리가 다 알듯이 컴퓨터는 그렇게 생각처럼 친절하지 않습니다.)

후회하면 이미 때는 늦습니다.

초기화 없이도 잘 돈다는 생각 자체를 하지 마세요. 원래 전혀 돌아갈 이유가 없는데 컴퓨터가 맘이 좋아서 (사악해서?) 그냥 돌려주고 있을 뿐입니다. 영화관에 개구멍으로 들어가면서 "맨날 돈 안내고 들어가도 안 걸리더라" 하는 것과 큰 차이가 없습니다. 어느날 크게 걸립니다. -_-

ecstasy5001의 이미지

답변 감사합니다

컴퓨터가 친절하지 않는다는 말 ... 가슴깊이 새겨야 겠네요

댓글 달기

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