The use of loop is because I want to do actions sequenty, when one ends start the next, all time. If I use lapsed timestamp, i wouldn't wait to ends nodes befote init others. (If the http request take a long time, higher than lapsed time of timestamp). Correct me if i'm wrong.
In regard to use one flow many times, someone knows any optimization? It is very important emit múltiple responses (one per device) at same time by MQTT .
Nodejs is single threaded so only one thing will happen at a time. Also each MQTT msg will be a separate TCP packet on the wire to the broker , so again they will arrive in sequence and not at the same time.
No, only one thing can be happening at any instant, but (simplifying somewhat) the 'thing' that is happening is the execution of a single node, not a flow. So if you start many flows running at approximately the same time the flows will run in parallel, even though only one node is being executed at one time. Also for what is known as async nodes, which is nodes that have to wait for some external operation to complete, such as IO, network access, and so on, the node doing that will pause while it is waiting, and allow other nodes to run.
I don't think you even need multiple flows. You should be able to feed all the messages into the same flow as suggested by @Steve-Mcl. You can have multiple messages passing through one flow at the same time. In fact node-red does not actually have the concept of a 'flow', there are just lots of nodes all connected together. The editor shows them in multiple tabs, but mostly that is just a convenience for the user to make it easier to organise the total system.
I may have explained myself wrong. When I talk about flow, I am talking about a set of nodes with input and output. In this case, in the dashboard image of the topic question, there would be two flows. I don't distinguish flows by tabs.
The general technique to use is to make sure that all the information you need is contained within the message. Then when you feed the message back to the start from the end it will restart the required operation, even though other operations are currently making their way through. You can use message properties that are not normally used to pass information along the flow. If you set something like `msg.myProperty' then it should be passed through nodes along the way so you can use that to know what you are supposed to be doing with this message.