int main(int argc, char *argv[]) { int numthreads = 0; int i,j; numthreads = 4; for (j = 0; j < 100; j++) { for (i = 0; i < numthreads; i++) { CreateOneThread(&threads[i], hello, 0); } for (i = 0; i < numthreads; i++) { BOOL success; success = JoinOneThread (threads[i]); } printf("All threads joined\n"); } return 0; }
int main(int argc, char *argv[]) { int numthreads = 0; int i; Test_addr16 (); numthreads = 30; assert(numthreads < MAXTHREADS); for (i = 0; i < numthreads; i++) { printf("Creating thread %d\n", i); fflush(stdout); if (i % 2 == 0) CreateOneThread(&threads[i], longfun, 0); else CreateOneThread(&threads[i], shortfun, 0); } for (i = 0; i < numthreads; i++) { BOOL success; success = JoinOneThread(threads[i]); if (!success) { fprintf(stdout, "JoinOneThread failed\n"); fflush (stdout); } } printf("All threads joined\n"); fflush (stdout); return 0; }
void THREAD_POOL::TerminateAll() { EXIT_THREAD_OBJ exitObj; for (unsigned long tid = 0; tid < m_numThreads; ++tid) { Wait(tid); Start(tid, &exitObj); // run EXIT_THREAD_OBJ in the target thread to exit the thread JoinOneThread(m_tls[tid].m_handle); } m_numThreads = 0; }
int main(int argc, char *argv[]) { int numthreads = 5; int numreps = 1000; int success; int i,j; //sscanf(argv[1], "%d", &numthreads); printf("Threads: %d * reps: %d\n", numthreads, numreps); assert(numthreads < MAXTHREADS); for (j = 0; j < numreps; j++) { for (i = 0; i < numthreads; i++) { //printf("Creating thread\n"); //fflush(stdout); if (!CreateOneThread(&threads[i], hello, 0)) { fprintf(stdout, "CreateOneThread failed\n"); } fflush(stdout); } for (i = 0; i < numthreads; i++) { BOOL success; success = JoinOneThread(threads[i]); if (!success) { fprintf(stdout, "JoinOneThread failed\n"); fflush (stdout); } } printf("Finished rep %d\n", j); fflush (stdout); } printf("All threads joined\n"); fflush (stdout); return 0; }
int main() { for (int i = 0; i < NUM_TH; i++) CreateOneThread(&threads[i], compute, (void*) (LOOPS + i)); while (numThreads != NUM_TH) { DelayCurrentThread(10); } printf("All threads started running\n"); fflush(stdout); for (int i = 0; i < NUM_TH; i++) JoinOneThread(threads[i]); exit(0); }
int main(int argc, char *argv[]) { int numthreads = 0; int i; #if defined(i386) asm("pusha;popa"); #endif numthreads = 4; for (i = 0; i < numthreads; i++) { printf("Creating thread\n"); fflush(stdout); CreateOneThread(&threads[i], hello, 0); fflush(stdout); } for (i = 0; i < numthreads; i++) { BOOL success; success = JoinOneThread (threads[i]); if (!success) { fprintf(stdout, "JoinOneThread failed\n"); } else { fprintf(stdout, "Joined %d\n", i); } fflush (stdout); } printf("All threads joined\n"); return 0; }
int main(int argc, char *argv[]) { int numthreads = 0; int i; numthreads = 2; assert(numthreads < MAXTHREADS); for (i = 0; i < numthreads; i++) { printf("Creating thread\n"); fflush(stdout); CreateOneThread(&threads[i], hello, 0); fflush(stdout); } for (i=0; i<numthreads; i++) { BOOL success; success = JoinOneThread (threads[i]); if (!success) { fprintf(stdout, "JoinOneThread failed\n"); } else { fprintf(stdout, "Joined %d\n", i); } fflush (stdout); } printf("All threads joined\n"); fflush(stdout); return 0; }