There are two different scenarios:
1. There is a value that matches your query that can be pulled off the list
In this case you'll pull and will immediately pull something off the list. This happens instantaneously so it happens before any other pull activities.
2. There are no values that match the query
In this case there is nothing to pull so your pull creates a back order. If multiple activities pull and fail to pull something they all create back orders. When a new value is pushed on the list the back orders will be reevaluated to see if the value matches their query. You can specify which back orders get fulfilled first in this case by filling out the Back Order Queue Strategy.

Below I've pasted the documentation:
Back Order Queue Strategy
The Back Order Queue Strategy defines how back orders will be prioritized for a given value. When a value is pushed onto the List, outstanding back orders are processed for that value in the order defined by this queue strategy. It should be an SQL ORDER BY statement that references at least one puller-dependent field. This is because the back order queue strategy is used to prioritize back orders against a single entry. An ORDER BY statement that gets data only associated with the entry value would consequently have the same result value for all back orders, and would thus be unable to properly prioritize the back orders.
A few examples:
ORDERBYPuller.priorityDESC- This will prioritize the pullers who have the "priority" label with the highest value.
ORDERBYpullerPriorityDESC- This example is essentially the same as the previous example, except that here you would need to explicitly add a dynamic puller-dependent expression field named pullerPriority, and give it the expression:puller.priority. This expression tells FlexSim to check the value of a label named "priority" on the puller.
ORDERBYdistanceASC- This example will prioritize the back orders with the lowest distance value, which usually defines a distance between the value and the puller.
Matthew Gillespie
FlexSim Software Developer