int lock = 0; int x = 0; // 1.faze - nadefinovat funkci TSL atomic int TSL(int& zam) { int u; u = zam; zam = 1; return u; } // 2.faze - nadefinovat mutex_lock, mutex_unlock void mutex_lock (int &lock1) { while (TSL(lock1)) ; } void mutex_unlock (int &lock1) { lock1 = 0; } // 3. faze - overeni na inkrementaci promenne x void a () { int i; for (i=0; i<50; i++) { mutex_lock(lock); x = x+1; mutex_unlock(lock); } } main() { cobegin { a(); a(); } cout << "vysledek je: " << x; }