There is something about groups that I'm having a real hard time grasping.. maybe I'm thinking this issue too abstractly in terms of computer science.
So everyone knows that groups are notorious for leaking. The best practice to avoid this issue is to recycle them. A tutorial claims that you can declare one single group to use it across an entire map. (Unless your specific logic requires 2 groups for some nested logic or whatever, but this is besides the point).
My question is, how is this possible? Isn't this something susceptible to a race condition? What if two different spells that use the same group are invoked at the same time? Does Warcraft 3 put some sort of lock on accessing this variable so that any code accessing the group is guaranteed to be ran sequentially? To me, this practice seems super dangerous but I've seen plenty of maps declare a single global group, so it must work but I really don't get why this doesn't break stuff.
So everyone knows that groups are notorious for leaking. The best practice to avoid this issue is to recycle them. A tutorial claims that you can declare one single group to use it across an entire map. (Unless your specific logic requires 2 groups for some nested logic or whatever, but this is besides the point).
My question is, how is this possible? Isn't this something susceptible to a race condition? What if two different spells that use the same group are invoked at the same time? Does Warcraft 3 put some sort of lock on accessing this variable so that any code accessing the group is guaranteed to be ran sequentially? To me, this practice seems super dangerous but I've seen plenty of maps declare a single global group, so it must work but I really don't get why this doesn't break stuff.