Skip to content

Instantly share code, notes, and snippets.

View theleancoder's full-sized avatar

Ankit Singh theleancoder

  • .na
  • Gurgaon, India
View GitHub Profile
wait(S) {
while (S <= 0)
// busy wait
S--;
}
signal(S) {
S++;
}
S1;
signal(synch);
acquire() {
while (!available)
/* schedule another process */
available = false
}
do {
acquire lock
critical section
release lock
remainder section
release() {
available = true;
}
signal(S) {
S++;
}
wait(S) {
if(S <= 0)
/* wait */
S--;
}
wait(mutex)
//safely use shared resource
release(mutex)
wait(mutex)
//safely use shared resource
release(mutex)