[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [Orekit Developers] Work In Progress for thread safety



>-----Message d'origine-----
>De : MAISONOBE Luc [mailto:luc.maisonobe@c-s.fr] 
>Envoyé : mardi 10 avril 2012 19:22
>À : orekit-developers@orekit.org
>Objet : [Orekit Developers] Work In Progress for thread safety

>Hi all,

>Some progress has been made on thread-safety for Orekit (see issue  
><https://www.orekit.org/forge/issues/3>).

>As discussed on this list and on the issue, we have set up a  
>thread-safe TimeStampedCache that do not use synchronization at all  
>but rely on more efficient mechanisms (read-write locks). The  
>rationale is to have thread safety that works even when threads are  
>not tightly bound to some dates interval. This corresponds to two  
>major use cases:
>  - one where threads are used in a pool (see ExecutorService and the whole
>    java standard concurrent package)
>  - one where threads are created and shut down at high frequency, a new thread
>    being used for each request

>Of course, it also supports applications where threads are completely  
>under control and each thread is tightly bound to a date range.

>This work started on a dedicated branch, and has now been merged back  
>into master. As of writing, the general TimeStampedCache framework is  
>in place for the simplest case of leap seconds handling (the UTCScale  
>class). It will be extended to all other Orekit caches and can also be  
>used at application level (people can for example need cached orbits).

>I would be happy to get some feedback from users. If you have  
>multi-threaded applications, could you check the behaviour of the  
>current implementation on dates ? Be aware that for now only UTC-TAI  
>relies on the new thread-safe mechanism and for example frames are not  
>thread-safe yet (but will probably be soon).

Hi Luc,

Up to now, we did not spend too much time on this issue but we are going to improve our multi-threaded use-cases and test your solution. 
We will inform you about the results.
Best regards,

Yannick 


>Thanks for your help
>Luc, on behalf of the Orekit team

>----------------------------------------------------------------
>This message was sent using IMP, the Internet Messaging Program.