1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | #include <iostream> #include "3vmw9.hpp" using namespace std; using namespace rv2; mutx::t mut; void fuc() { for (int i = 0; i < 1000; i++) { mut.lock(); co_s("hello thr1"); mut.unlock(); Sleep(1); // #include <windows.h> } } void fuc2() { for (int i = 0; i < 1000; i++) { mut.lock(); co_s("hello thr2"); mut.unlock(); Sleep(1); } } int main() { thr::t thr_01(fuc); thr::t thr_02(fuc2); thr_01.join(); thr_02.join(); } | cs |
슬립이 없으면 For문 안에서 다른 쓰래드가 lock을 시도하기 전에 같은 쓰래드가 다시 lock을 하는것 같습니다. 즉
hello thr1
hello thr1
hello thr1
hello thr1
.... (스래드 1 종료후)
hello thr2
hello thr2
hello thr2
...
스래드 2 종료
1ms의 딜레이로 정상작동 확인했습니다. 혹시 자세히 아시는분은 댓글 달아주세요~
'Thread' 카테고리의 다른 글
[ C++ ] mutex 개념 및 예제 (0) | 2019.01.26 |
---|---|
[ C++ ] thread 개념 및 예제 (0) | 2019.01.26 |
[12편-2] Modern C++ 정리: thread (0) | 2019.01.26 |
1.Modern C++ 정리: thread (펌) (0) | 2019.01.26 |