Original Post
So, I have a basic loop that looks as such Foreach (Region r in WorldRegions) { foreach (Entity e in r) { Update(e); } } The problem is, I have a Method private void Add(Entity e) { WorldRegion r = getRegion(e.Location); r.Add(e); } Now, during this loop, I "Modifiy the collection". (WorldRegion extends a List). How would I go about locking the thread from processing the data. Its a very very short lock. I was thinking about putting a Queue and add to the Queue then Process the Queue at the start of each loop, but I didn't seem to work. Thanks, I hope its clear.