I am using an Azure queue and have several different processes reading from the queue.  

My system is built in a way that assumes each message is read only once.  

This [Microsoft article](http://msdn.microsoft.com/en-us/library/windowsazure/hh767287.aspx) claims Azure queues have an **at least once** delivery guarantee which potentially means two processes can read **the same** message from the queue.  

This [StackOverflow thread](https://stackoverflow.com/questions/9127191/azure-worker-read-a-message-from-the-azure-queue-in-a-mutex-way) claims that if I use *GetMessage* then the message becomes invisible to all other processes for the invisibility timeout. 

Assuming I use *GetMessage()* and never exceed the message invisibility time before I *DeleteMessage*, can I assume I will get each message only once?