RFR: 8376434: Remove AppContext from awt ImageFetcher implementation
Alexey Ivanov
aivanov at openjdk.org
Wed Jan 28 16:47:43 UTC 2026
On Wed, 28 Jan 2026 06:56:15 GMT, Prasanta Sadhukhan <psadhukhan at openjdk.org> wrote:
>> Remove AppContext from ImageFetcher
>
> src/java.desktop/share/classes/sun/awt/image/ImageFetcher.java line 330:
>
>> 328:
>> 329: static FetcherInfo getFetcherInfo() {
>> 330: return FETCHER_INFO;
>
> Can you please refresh my memory as to why synchronization will not be required for this?
> I understand Swing is not thread-safe but there can be multiple images and this is called from `ImageFetcher.add`, `ImageFetcher.remove` etc and it can create "new FetcherInfo" instances, which is not desired, if access is not synchronized, or so I think..
An interesting question… I think synchronisation is not required here because the method returns a static final field.
Access to the fields needs synchronisation, though; and the synchronisation is present as far as I can see, the methods of the class use `synchronized(info.waitList)`.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/29441#discussion_r2737520438
More information about the client-libs-dev
mailing list