volatile int i = 0;
void getLock(){
compareAndSet(0,1)
}
void unlock(){
i=0;
}
void run(){
getLock();
doSomeThing();
unlock();
}
void getLock(){
compareAndSet(0,1)
}
void unlock(){
i=0;
}
void run(){
getLock();
doSomeThing();
unlock();
}