[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: RE : RE : RE : [sdx-developers] DocumentBase et Cie : derniers commi
From: |
Pierrick Brihaye |
Subject: |
Re: RE : RE : RE : [sdx-developers] DocumentBase et Cie : derniers commits |
Date: |
Mon, 05 Jan 2004 16:14:58 +0100 |
User-agent: |
Mozilla/5.0 (Windows; U; Win98; fr-FR; rv:1.0.2) Gecko/20030208 Netscape/7.02 |
Re,
Rasik Pandey a écrit:
>dbe = getEntity(id, rs);
>addEntityToCache(dbe);
>
>est arrêté ici, la ligne suivante :
La voici :
return dbe;
>*peut* renvoyer un résultat faux si l'entité a été détruite.
>Idem pour
>Update et pour Search. Me trompè-je ?
On n'aura pas un SDXException?
Euh... je ne crois pas. Les variables stockent des références (des
pointeurs) donc :
dbe = getEntity(id, rs) = a_reference
->arrêt du 1er thread
->destruction de l'entité par un 2ème thread
->reprise du 1er thread
->restitution de la pile du 1er thread et donc de a_reference
return a_reference
Or... a_reference n'est plus valide à ce moment là.
Il n'est pas dit que le ramasse-miettes ait fait son travail entre le
moment où l'entité *physique* est détruite et celui où la pile du 1er
thread est restituée.
Même chose pour releaseConnection : il faudrait la synchroniser et
forcer son invalidation.
if (conn != null) {
conn.close();
conn = null
}
A+
--
Pierrick Brihaye, informaticien
Service régional de l'Inventaire
DRAC Bretagne
mailto:address@hidden