RFR: 8145351: test/java/text/Format/DateFormat/Bug8141243.java fails in jake b96
Masayoshi Okutsu
masayoshi.okutsu at oracle.com
Wed Jan 6 23:58:39 UTC 2016
On 1/6/2016 6:48 PM, Alan Bateman wrote:
>
>
> On 06/01/2016 06:40, Masayoshi Okutsu wrote:
>> On 1/5/2016 10:38 PM, Alan Bateman wrote:
>>>
>>> One other question on this is whether there are concurrency issues
>>> with the candidate list? I ask because candidateMap is a CHM but the
>>> map value (the candidate list) seems to be queried (via the size
>>> method) and updated in getCandidateLocale without any
>>> synchronization. Is this a concern?
>>
>> The candidate list (candidates) won't be modified once it's been put
>> in candidatesMap. Are you referring to some other case?
> I should have been clearer. Suppose two threads invoke
> LocaleDataStrategy's getCandidateLocales at round the same time. There
> is no entry in the candidateMap so get will get the list of candidates
> via the adpater or default control getCandidateLocales. If I read the
> code correctly then they will both mutate this list and then race to
> add it to the candidateMap. So maybe my question is really about the
> return from adpater or default control getCandidateLocales - is it
> okay to mutable this list, maybe these methods already return a new List?
Each call to adapter or default control getCandidateLocales creates a
new ArrayList. There should be no concurrent modification issues.
Masayoshi
More information about the jigsaw-dev
mailing list