STL라이브러리에서 제공하는 Queue를 이용해서 스레드A는 Queue에 push를하고 스레드B는 front(), pop()하여 데이터를 인출해가는 구조입니다.
스레드a와 b가 그로벌 영역의 큐데이터를 접근하는 형태인데요.
동기화 문제가 발생하지 않을까요?
일단 계속 루핑시킨결과 별문제는 없었던거 같은데..
당연히 lock이 필요하죠.
여러 thread에서 각자 다른 container를 쓸 경우에는 큰 문제가 없는 것이 보통이지만, 표준에는 thread를 다루지 않기 때문에, 이것도, 해당 library의 문서를 읽어보지 않는한 보장할 수 없습니다.
참고: http://www.sgi.com/tech/stl/thread_safety.html
-- C FAQ: http://www.eskimo.com/~scs/C-faq/top.html Korean Ver: http://www.cinsk.org/cfaqs/
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html Korean Ver: http://cinsk.github.io/cfaqs/
눈에 보이는것이 전부는 아니군요.
참고자료 감사합니다~
---
대한민국
텍스트 포맷에 대한 자세한 정보
<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]
당연히 lock이
당연히 lock이 필요하죠.
여러 thread에서 각자 다른 container를 쓸 경우에는 큰 문제가 없는 것이 보통이지만, 표준에는 thread를 다루지 않기 때문에, 이것도, 해당 library의 문서를 읽어보지 않는한 보장할 수 없습니다.
참고: http://www.sgi.com/tech/stl/thread_safety.html
--
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://www.cinsk.org/cfaqs/
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://cinsk.github.io/cfaqs/
눈에 보이는것이
눈에 보이는것이 전부는 아니군요.
참고자료 감사합니다~
---
대한민국
댓글 달기