[rabbitmq-discuss] questions about RpcClient
    Matthias Radestock 
    matthias at rabbitmq.com
       
    Mon Nov 21 09:24:48 GMT 2011
    
    
  
On 21/11/11 09:11, john doe wrote:
> Thank you Matthias.
> If this class is known to *not* be threadsafe, why is there a
> "synchronized" statement in primitiveCall? It somewhat confuses me.
That synchronisation is necessary for the coordination of the thread 
issuing a call with the thread on which the reply arrives.
The code calls _channel.basicPublish, which is not threadsafe, outside 
of any synchronisation context. Hence it is not safe to issue calls from 
multiple threads or use the underlying channel in other threads.
Matthias.
    
    
More information about the rabbitmq-discuss
mailing list