Then, actions of both invocations will act simultaneously?
I believe this is not exactly true. MacroDroid will indeed run a macro again even if it is already running, but not simultaneously.
I'm pretty sure there was a bug with that too where the first thread would be deleted by MacroDroid.MacroDroid will indeed run a macro again even if it is already running
That confirms my experience with wait actions.Try to test trigger of this macro multiple times. The numbers will add up faster and faster. Of course the will reset to zero on every trigger test.
I'll try and verify if it indeed works without wait. I'm not sure how to do it without lagging my device or any side effects. Problem is MacroDroid will kill that thread for running too fast (at 200 actions ran fast I think).The only way to make this next one run before the first thread is finished is to have any wait of any kind in your macro that the first thread will reach. In this case, the next thread will be able to run.
I understand what you meant now. Yes, that will indeed cause problems, especially if the next thread skips a wait action. Of course there are way to prevent this.The problem I am describing will not normally affect lists of actions that use asynchronous actions such as Set Variable, Sent Intent, Configure Wi-Fi etc... which take almost no time to execute, but may cause problems in lists of actions that use synchronous actions such as HTTP GET or Shell Script (with "Wait until action ends" checked).
Sorry but you are wrong: what @FrameXX describes is the way MD works. There were threads about the way macros can run concurrently, many years ago on the old forum version.I believe this is not exactly true. MacroDroid will indeed run a macro again even if it is already running, but not simultaneously. That goes for every macro too. The first thread will run, then the next will. The only way to make this next one run before the first thread is finished is to have any wait of any kind in your macro that the first thread will reach. In this case, the next thread will be able to run.