title: Is callback function in RabbitMQ, pika basic_consume is executed in blocking manner (one by one)?
body: <p>I am very new to RabbitMQ so I was checking through tutorial (<a href="http://www.rabbitmq.com/tutorials/tutorial-one-python.html" rel="nofollow noreferrer">http://www.rabbitmq.com/tutorials/tutorial-one-python.html</a>) In this tutorial, we use pika connection channel's basic_consume function for consuming messages.</p>
  
  <p>As documentation of basic_consume(<a href="https://pika.readthedocs.io/en/0.10.0/modules/channel.html" rel="nofollow noreferrer">https://pika.readthedocs.io/en/0.10.0/modules/channel.html</a>) states, it obviously consumes message but my question is, in which manner the callback function is executed?</p>
  
  <p>In next part of tutorial (<a href="http://www.rabbitmq.com/tutorials/tutorial-two-python.html" rel="nofollow noreferrer">http://www.rabbitmq.com/tutorials/tutorial-two-python.html</a>) we can check that single thread cannot call two callback functions simultaneously (as we run example code, sleeping messages appear one by one per thread.) But this is not guaranteed in any of documentations (as I found.)</p>
  
  <p>What I want is exactly like this (for single thread only one callback function is called, message being handled one by one.) but I want to make sure that basic_consume operates this way. I also think this is obvious (because we need multi-thread for handling multiple callback functions simultaneously) but I am still little confused...</p>
  
  <p>Thanks!</p>