/* Baseado em código de * http://www.csc.villanova.edu/~mdamian/threads/posixsem.html */ #include #include #include #define NITER 1000000000 #define VEZES 5 _Atomic long int count1=0; _Atomic long int count2=0; void * ThreadAdd1 (void * a) { long int i; for (i=0; i<(long int)NITER; i++) count1++; return NULL; } void * ThreadAdd2 (void * a) { long int i; for (i=0; i<(long int)NITER; i++) count2++; return NULL; } int main() { int i; pthread_t tid[2*VEZES]; for (i=0; i