Comment exactement l'ordre de linéarisation est-il déterminé. Comment peut-on dire que l'ordre de linéarisation du code suivant est l'ordre dans lequel libéré par wait(). Comment peut-on vérifier si le code est linéarisable?Détermination de l'ordre de linéarisation
class Buffer
{
int in = 0;
int out = 0;
int numElems = 0;
synchronized void put(E elem) throws InterruptedException
{
while (!numElems < N)
{
wait();
}
buff[in] = elem;
in = (in + 1) % N;
notifyAll();
}
synchronized E take() throws InterruptedException
{
while (!numElems > 0)
{
wait();
}
E temp = buff[out];
out = (out + 1) % N;
return temp;
notifyAll();
}
}
est-ce le formatage prévu? Est très difficile à lire. –
a formaté le code. – devnull