/* * The idea of Multithreading * */

#include <process.h> /* needed for _beginthread(...), also change compliation to multithreaded code generation */ #include <windows.h> /* needed for Sleep(.) */ #include <stdlib.h> #include <stdio.h> int addem(int); long int global; int main(int argc, char *argv[]) { global =0; _beginthread((void (*)(void *))addem, 0, (void *)100000); _beginthread((void (*)(void *))addem, 0, (void *)100000); _beginthread((void (*)(void *))addem, 0, (void *)100000); _beginthread((void (*)(void *))addem, 0, (void *)100000); Sleep( 5000L ); printf("The global sum is %d\n", global); fflush(stdout); Sleep( 1000L ); printf("The global sum is %d\n", global); fflush(stdout); return 0; } int addem(int count) { int i; for (i=0; i<=count; ++i) { printf("i= %d\n", i); fflush(stdout); global+=i; } return 0; }