|
|
|
|
Re: Creating concrete model using threading [message #686639 is a reply to message #677129] |
Wed, 22 June 2011 16:26 |
Ed Willink Messages: 7669 Registered: July 2009 |
Senior Member |
|
|
Hi
In response to your disjoint queries, by warming up, I mean executing
all the code once so that all caches are populated. As I wrote
You probably need to do an EPackage content traversal to perform a
practice eGet and eInvoke for everything with a delegate EAnnotation.
Regards
Ed Willink
On 07/06/2011 17:18, Ed Willink wrote:
> Hi
>
> We discussed this in an earlier thread and suspected that delegates
> would not be threadsafe. I'm afraid you've just confirmed it.
>
> https://bugs.eclipse.org/bugs/show_bug.cgi?id=348606 raised.
>
> You can probably avoid the problem by warming the delegates up in
> single-threaded before launching the others. I would recommend
> creating all Resource classes from a single thread too if the
> ResourceSet is shared.
>
> You probably need to do an EPackage content traversal to perform a
> practice eGet and eInvoke for everything with a delegate EAnnotation.
>
> This could be a generally useful routine, that would be worth making
> available to others, until it perhaps becomes redundant in Juno if the
> bug is fixed. But even then it might be good to be able to warm up
> anyway.
>
> Regards
>
> Ed Willink
>
>
>
>
> On 07/06/2011 11:39, forums-noreply@eclipse.org wrote:
>> Hi,
>>
>> I have ecore model and i want to create 1000 XMI models using threading.
>> I am using
>> EOperation.Internal.InvocationDelegate.Factory.Registry.INSTANCE.put(oclDelegateURI,
>> new OCLInvocationDelegateFactory.Global());
>> EStructuralFeature.Internal.SettingDelegate.Factory.Registry.INSTANCE.put(oclDelegateURI,
>> new OCLSettingDelegateFactory.Global());
>>
>> When i create 1000 model in one thread then every thing works fine
>> and it calculates every derived property but when i use multiple
>> threads for less execution time it gives exception in delegation and
>> says concurrent access.
>>
>> Is the delegation being used is thread safe?
>>
>> what is right procedure to make it work in multi threaded environment?.
>>
>> Please help me
>
|
|
|
|
|
|
|
Powered by
FUDForum. Page generated in 0.04456 seconds