Safe loop with push! multi-threading

I don’t think you need deepcopy but you can’t just push! in this case because the operation is not atomic, try this instead: