Tässä koodi, jonka löysin alunperin muualta, mutta hieman muokkasin sitä:
public class TCriticalSection {
/** Creates a new instance of TCriticalSection */
public TCriticalSection() {
}
// ----------------------
/* The lock status */
protected boolean lckAvailable = true;
public void acquire () throws InterruptedException
{
if (Thread.interrupted())
throw new InterruptedException();
synchronized(this)
{
try
{
while (!lckAvailable ) wait();
lckAvailable = false;
}
catch (InterruptedException ex)
{
notifyAll();
throw ex;
}
}
}
public synchronized void release ()
{
lckAvailable = true;
notifyAll();
}
}
Sille, joka haluaa verrata alkuperäiseen, voit kurkata tänne:
http://www.tol.oulu.fi/~avesanen/Rinn_Ohjelm/Luennot/Poissulkevuus.html
TCriticalSection Javaan (valmisvinkki)
Mika0800
0
188
Luetuimmat keskustelut
- 53887
Muistatko Mikkelin panttivankidraaman?
Uusi draamasarja järkyttävästä tapauksesta on tulossa. Tositapahtumiin perustuva sarja ammentaa vuoden 1986 Mikkelin pan63643- 55640
Iäkäs Jämsäläinen mies kuoli poliisiautoon matkalla Jyväskylän putkaan
Iäkäs vanhus humalassa niin huonossa kunnossa, ettei pystynyt huolehtimaan itsestään niin ainoa apu sillä hetkellä oli43562Olen luovuttanut
Välimme menivät niin pahasti solmuun, ettei niitä voi enää korjata. On aika jatkaa elämässä eteenpäin. Toivon sulle kaik31532Ernest Lawson täräytti erikoisen heiton TTK-lehdistötilaisuudessa: " Onko tässä tarkoituksena...?"
Ernest Lawson esitteli uudet TTK-tähtioppilaat ja opettajat torstaina 6.8. lehdistölle. Tulevalla kaudella on yksi hausk4502En välitä sinusta yhtään
Olet pelkkä itsestään liikoja luuleva ämmä. Kierrän sinut kaukaa nyt ja aina. Olit mulle pelkkä lelu vaan.32498- 73446
- 33425
- 37416