'Re-entrancy를 만족하는 Thread 예제 구현' 에서 질문있습니다.
363
작성한 질문수 3
안녕하세요. 수업내용과 약간 결이 다른 질문인데 궁금해서 질문 남깁니다.
'Re-entrancy를 만족하는 Thread 예제 구현' 에서 11분정도 됐을 때 numUsed가 0만 찍히는 출력 결과를 보여주셨습니다.
sleep으로 쓰레드를 멈추면 시간 차이가 큰 것 같아서 msleep, usleep으로 해도 동일하고, mutex로 lock-unlock을 해도 동일하게 0으로 출력 되더라구요.
출력창에 0만 출력되는 다른 이유가 있나요?
#include <QCoreApplication>
#include <QThread>
#include <QMutex>
#include <QWaitCondition>
#include <QDebug>
int number = 0;
QMutex mutex;
class ThreadA : public QThread
{
public:
ThreadA() {};
protected:
virtual void run()
{
for (int i = 0; i < 10; ++i)
{
// sleep(1);
// msleep(1);
usleep(1);
mutex.lock();
number++;
mutex.unlock();
}
};
};
class ThreadB : public QThread
{
public:
ThreadB() {};
protected:
virtual void run()
{
for (int i = 0; i < 10; ++i)
{
mutex.lock();
qDebug() << "number: " << number;
mutex.unlock();
}
};
};
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
ThreadA threadA;
ThreadB threadB;
threadA.start();
threadB.start();
threadA.wait();
threadB.wait();
return a.exec();
}
제가 만들어본 코드입니다.
답변 2
0
안녕하세요.
제가 설명드리려 했던 부분은 다른 쓰레드에서 상황에 맞게끔 동기화를 어떻게 하는지 예제를 보여준 것이라서요.
그렇기 때문에 Re-Entrancy 이외의 상황은 의미가 없습니다.
따라서 이 예제에서는 쓰레드간의 동기화를 어떻게 하는지만 이해하는 것이 맞습니다.
혹시 더 궁금한게 있으면 문의해주세요.
감사합니다. 김대진 드림.
0
number: 0
number: 0
number: 0
number: 0
number: 0
number: 0
number: 0
number: 0
number: 0
number: 0위 코드 출력 결과입니다.
Build system의 Obs 에 관한 질문
1
29
2
PLAY 버튼 동작 미리보기 관련 질문드립니다!
0
34
2
pygame 설치오류
0
126
1
로드맵 재수강 로드맵 할인문의
1
43
2
PDF파일 다운로드 위치
0
60
2
강의 재수강 문의
1
54
2
언리얼 버전 문의드립니다!
0
81
2
강의 연장 문의
1
79
2
아직 강의를 시청중이긴 한데 혹시 다음 강의도 준비하고 계신가요?
1
101
2
custom Widget 강의 에서 알려주신 promoted widgets 질문 드립니다.
1
118
2
QML로 만든 파일도 똑같이 설치판 제작하면 되나요?
0
171
2
'Re-entrancy' 사용 시 프로그램 속도 문의드립니다.
1
114
2
QImage에서 이미지가 안불러와집니다.
1
318
2
Android 폰에서 개발환경 설정과 예제 App 구현 질문드립니다.
1
304
1
크로마키 영상처리 소스코드 구현 (2/2편) 에러가 발생합니다.
1
362
1
Writing QML Extensions with C++ 내용에 대해서 질문드립니다!
1
346
1
Qt Creator 기능 질문드립니다.
1
340
1
위젯프로그램 위에 챠트 띄우기
1
559
1
QT로 이미지나 json 파일 가져올때
1
435
1
QT로 구현한 프로그램 실행관련 및 추가질문
1
1361
3
Go to slots 을 사용했을때 connect 함수 위치
1
358
1
Qt Quick 모듈의 해석 질문드립니다.
3
362
2
QT에서 그래프 챠트 그리는 방법 문의
2
1866
2
Window에서 프로그래밍한 것을 리눅스로 옮기는 방법
2
391
1





