스레드를 만드는 클래스의 인스턴스를 여러 개 인스턴스화합니다. 스레드는 정적이므로 개체의 인스턴스가 서로의 스레드 작업을 방해합니까?스레드를 만드는 클래스의 여러 인스턴스를 인스턴스화하는 중 ... ...?
이상하게도 2 개의 다른 파형을보고 두 개의 다른 슬립 지연에서 실행됩니다. ??? 그래서 이것은 두 개의 다른 스레드가 있다는 것을 의미합니까 ??? 헤더 파일에서
void CWaveGeneration::CreateWave()
{
Y = new double[numPoints];
X = new double[numPoints];
I = new int[numPoints];
CWaveGeneration *pp = this;
hThread_Wave = CreateThread(NULL, 0, Thread_Wave, pp, 0, NULL);
//within the thread, there is the setting of Sleep(iSleep);
}
void CWaveGeneration::CreateWave(int _waveType, double _A, double _w, double _T, double _r, int _numPoints, int _iSleep)
{
waveType = _waveType;
A = _A;
w = _w;
T = _T;
r = _r;
numPoints = _numPoints;
iSleep = _iSleep;
CreateWave();
}
DWORD WINAPI CWaveGeneration::Thread_Wave(LPVOID iValue)
{
CWaveGeneration *p = (CWaveGeneration*)iValue;
switch (p->waveType)
{
case 0:
p->Sine();
break;
case 1:
p->Square();
break;
case 2:
// p->Triangle();
break;
case 3:
// p->SawTooth();
break;
}
return true;
}
는 :
static DWORD WINAPI Thread_Wave(LPVOID iValue);
wave1 = new CWaveGeneration();
wave1->CreateWave(0,100,10,0,0,200, 10);
wave2 = new CWaveGeneration();
wave2->CreateWave(1,80,5,0,0,200, 100);
// in total, are there 1 thread or 2 threads created here ???
코드를 제공해 주시겠습니까? – Jagannath
"스레드는 고정적입니까"라는 것은 무엇을 의미합니까? 대부분의 시스템 (그리고 C++ 스레드 모델을 지원하는 시스템)에서는 원하는대로 생성하고 파괴 할 수 있습니다. –
일부 코드를 추가했습니다 – jdl