Ok, thanks. I need to study the code some more...

Do you have any advice for me what could have went wrong when I get
wrong values for this method in the debugger in a single thread scenario?

Best,

Peter


Am 24.08.2015 um 15:18 schrieb Marshall Schor:
> To find out who's worked on a particular class, you can use SVN - in eclipse,
> right click the class, and do team -> show history.
>
> The getReserve() method is supposed to either get the JCas cover class from 
> the
> map, or (if it doesn't exist) it's supposed to "reserve" the slot where the 
> JCas
> cover class would be (were it in the table).  The caller, if it gets "not 
> found"
> is supposed to generate the JCas cover class and do a "put" to add it to the
> hash map.   The "reserve" is there to cause any multi-threaded access to the
> identical FeatureStructure to pause while the "winner" of the getReserve 
> reserve
> action finishes creating the JCas cover class instance and adding it to the
> table.  (There's one JCas cover class per CAS, regardless of how many threads
> might be trying to access it - this multithreading support was put in some 
> time
> ago to support multiple threads doing read actions on a (read-only) CAS).
>
> -Marshall
>
> On 8/24/2015 6:31 AM, Peter Klügl wrote:
>> Hi,
>>
>> I currently try to learn a bit about UIMA's internal JCas cover
>> class/object management in the context of UIMA-4568. When I try to debug
>> JCasHashMapSubMap.getReserve() I get different results compared to a
>> normal run. Each time a slot is reserved.
>>
>> Can someone of those who know about UIMA internals comment on that?
>> Advices and comments on UIMA-4568 in general are of course also welcome :-)
>>
>> Best,
>>
>> Peter
>>

Reply via email to