Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- mutex m1;
- mutex m2;
- int value;
- void A() {
- while(true) {
- if (!m1.try_lock())
- continue;
- if (m2.try_lock()) {
- value += 3;
- m2.unlock()
- }
- WriteLine(value);
- m1.unlock()
- }
- }
- void B() {
- while(true) {
- if(m2.try_lock()) {
- if (value % 100 == 0)
- WriteLine(value)
- m2.unlock()
- }
- value += 1;
- }
- }
- void C() {
- while(true){
- m1.lock()
- if (value % 100 == 0)
- value += 17;
- m2.lock()
- WriteLine(value)
- m2.unlock()
- m1.unlock()
- }
- }
- void D() {
- while(true){
- if(m2.try_lock()) {
- m1.lock()
- if (value > 1000)
- value = 0;
- WriteLine(value)
- m1.unlock()
- m2.unlock()
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement