In general, I don't think mpl is threadsafe at all; it uses global 
variables, such as all the rc parameters, that could easily be modified 
by one thread while being used by another.  I think that great care 
would be needed if one wanted to have multiple threads making plots. 
Having one plotting thread and any number of threads doing other things, 
however, should be OK.

Michael Droettboom wrote:
> At least the Agg backend *looks* to be reasonably threadsafe -- there 
> are no obvious gotchas like global variables etc.  Note, though, that 
> multithreading may not gain much in the way of performance since the 
> global interpreter lock is never released around long-running C blocks.

Possibly this could be changed.  The danger would be accidentally 
modifying or deleting an array that is being used by C extension code.

> 
> However, I can't speak about this from any experience -- so, maybe it 
> needs some trying.  Any patches to help with thread safety and 
> performance are of course welcome ;)

At the very least, I think we would have to take all the global state 
information and put it in a class instance, so there could be multiple 
plotting machines.  Pyplot would then instantiate and use one of these; 
the OO API would allow one to instantiate any number of them.  I have 
not thought about how easy or hard this would be.

Eric

> 
> Cheers,
> Mike
> 
> Chris Withers wrote:
>> Hi All,
>>
>> I'm wondering what work people have done with matplotlib in 
>> multi-threaded environments such as your average python web framework.
>>
>> Is matplotlib threadsafe?
>>
>> How have people gone about safely using it in a multi-threaded environment?
>>
>> cheers,
>>
>> Chris
>>
>>   
> 
> 
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2008.
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> _______________________________________________
> Matplotlib-users mailing list
> Matplotlib-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to