Le 14/10/2009 13:11, Anthony Petrov a écrit :
While I'm still waiting for some answers to the questions outlined below, I also just recalled another issue.

About a year ago or so we developed a fix to replace the components array with a collection in the Container class. The initial version of the fix included synchronized (getTreeLock()) sections in such methods like countComponent(), getComponent(int), and some other. I recall we indeed faced dead-locks back then, and decided that a developer must hold the lock when calling these methods, so that we could avoid acquiring the lock ourselves.

How does that decision correspond to the current proposal of forcibly getting the lock in the preferredSize(), paramString(), some Swing methods, and others? Wouldn't that be safer to shift the responsibility of holding the lock to the user's code instead (as just assumed currently, in fact)?


Anthony,
did you try top use a CopyOnWriteArrayList as Collection ?
It's a thread safe collection which duplicate the array at each mutation.

my two cents.

--
best regards,
Anthony

Rémi

Reply via email to