Concurrency en race condities
Concurrency en race condities
Concurrency en race condities
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Semafor<strong>en</strong><br />
• Semafor<strong>en</strong> zijn object<strong>en</strong> met<br />
– E<strong>en</strong> niet-negatieve, heeltallige waarde<br />
– Twee method<strong>en</strong>:<br />
• P(sem) - indi<strong>en</strong> waarde van sem > 0, verlaag waarde met 1<br />
indi<strong>en</strong> waarde == 0, blokkeer taak<br />
• V(sem) - indi<strong>en</strong> er geblokkeerde tak<strong>en</strong> zijn, deblokkeer er één<br />
anders, verhoog waarde met 1<br />
– P heet ook wel: get_semaphore, take_semaphore, down, ….<br />
– V heet ook wel: give_semaphore, up, ….<br />
– NB. Je kan de waarde niet direct manipuler<strong>en</strong><br />
• Binaire semafor<strong>en</strong>: alle<strong>en</strong> waard<strong>en</strong> nul <strong>en</strong> één<br />
– E<strong>en</strong> tweede V() verhoogt niet verder.<br />
College OS 2010 – 2011 26