int ACE_TMAIN (int argc, ACE_TCHAR *argv[]) { int n_threads = argc > 1 ? ACE_OS::atoi (argv[1]) : ACE_DEFAULT_THREADS; ACE_DEBUG ((LM_DEBUG, "(%t) worker threads running=%d\n", n_threads)); Worker_Task<BARRIER_TYPE> worker_task (ACE_Thread_Manager::instance (), /* n_threads */ 0, 0); worker_task.producer (); // Wait for all the threads to reach their exit point. ACE_DEBUG ((LM_DEBUG, "(%t) waiting with thread manager ...\n")); ACE_Thread_Manager::instance ()->wait (); ACE_DEBUG ((LM_DEBUG, "(%t) done correct!\n")); return 0; }
void odd_task(void* data) { worker_task((sched_task_t)data, 1); }
void even_task(void* data) { worker_task((sched_task_t)data, 0); }