Пример #1
0
void *threadWork(void *data)
{
   ThreadData *td = (ThreadData*)data;
   cout << "tid" << td->t << endl;
   bool hasValue = false;
   int a;
    pthread_mutex_lock (&mutexsum);
    printf("q address tid%d :%x\n",td->t,td->q);
        cout << "get:" << td->q->front() << endl;
   if(!td->q->empty())
   { 
        a = td->q->front();
        td->q->pop();
        hasValue = true;
        cout << "get:" << a << endl;
   }
   pthread_mutex_unlock (&mutexsum);
   if(hasValue) td->dowork((void*)a);
   
   pthread_exit(NULL);
}