shamjs |
10-17-2011 05:31 AM |
how to implement WaitForMultipleObjects in linux
Hi,All
for synchronization of threads im using WaitForMultipleObjects in windows,but my questions is how to do the same in linux since there is no equivalent api in linux.....
Here is my code
Code:
long PredictThread(const Array2D<REAL> &X) //For generating members matrix only
{
if (X.dim2()!=m_NumVars) return -1;
long i,j;
Array3D<REAL> Ypred(X.dim1(),m_Categories.size(), 6, 0.0);
HANDLE* TID = new HANDLE[m_Categories.size()];
DWORD ThreadID;
TParam* pOTParam = new TParam[m_Categories.size()];
TParam* pTParam = pOTParam;
for(j=0;j<m_Categories.size();++j)
{
TParam* pParam = pTParam;
pParam->category = j;
pParam->model = m_Categories[j];
pParam->X = X.copy();
pParam->Ypred = Ypred;
TID[j] = CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)ThreadProc,(LPVOID)pParam,0,&ThreadID);
pTParam++;
}
WaitForMultipleObjects(m_Categories.size(), TID, TRUE, INFINITE);
for(j=0;j<m_Categories.size();++j)
CloseHandle(TID[j]);
delete [] TID;
delete [] pOTParam;
m_members = Ypred;
return 0;
}
please suggest me to do this
thannx.................
|