#include #include #include pthread_t nit1, nit2; float a = 4.5; float b = 5.3; float c = 1.0; pthread_barrier_t barrier; void *func1 (void* arg){ pthread_barrier_wait(&barrier); printf("nit1 c = %f \n", c); } void *func2 (void* arg){ c = a + b; pthread_barrier_wait(&barrier); } int main(){ pthread_barrier_init(&barrier, NULL, 2); pthread_create( &nit1, NULL, func1, NULL); pthread_create( &nit2, NULL, func2, NULL); // to je v bistvu prepreka, kjer se pocakoajo vse niti: pthread_join(nit1, NULL); pthread_join(nit2, NULL); printf("main c = %f \n", c); return 0; }