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; }
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; }
unsigned long THREAD_POOL::Create(unsigned long numThreads) { unsigned long count; for (count = 0; (count < numThreads) && (m_numThreads < MAXTHREADS); ++count, ++m_numThreads) { TLS_ELEMENT * tls = &(m_tls[m_numThreads]); tls->Init(); BOOL created = CreateOneThread(&(tls->m_handle), ThreadRoutine, tls); if (!created) {break;} } return count; }
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; }