03.05.2013 Views

Concurrency en race condities

Concurrency en race condities

Concurrency en race condities

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!