From: Carlos M. F. T. <cf...@ce...> - 2016-08-02 08:55:31
|
Hi Giacomo, Sorry for the late answer. As far I know taurus does not use GIL. Taurus manages the multi threading in the taurusmanager class. It class is configured by default to use concurrent threads, but it changes at the scheme level where the elements set it to serial instead by default. So, you have to explicit set the Serialization mode to concurrent. e.g. importtaurus fromtaurus.core.taurusbasetypesimportTaurusSerializationMode a = taurus.Attribute('tango:sys/tg_test/1/short_scalar') a.setSerializationMode(TaurusSerializationMode.Concurrent) For your second question, I guess you should not have problems with Taurus but I don't know if PyTango is affected. Sorry for the ambiguous answer, I added the taurus list to see if someone else can help you. Best, Carlos F. On 07/28/2016 05:29 PM, Giacomo S. wrote: > Hello Carlos, > > I have a technical question concerning Taurus and Python GIL. > How is multi threading managed inside Taurus? > Once I had a talk with Tiago about this topic and, as far as I can > remember, he said that, where required, the > GIL is somehow disabled by Taurus in order to achieve real multi > threaded behaviour (real POSIX/Windows threads). > > Could you please confirm this and, consequently, claim that Taurus > threads are really concurrent threads? > > Second question. In a situation where a third party library relies on > the GIL (being enabled), is there any > concurrency issue potentially introduced when the same library operates > in a context where the GIL is disabled? > > Gracias, Giacomo. |