How to avoid overwriting a value in Unity (C#)

I’m working on a Tower Defence style game, and wondering how best to handle the "resources" part. I have multiple enemies on screen at a time, and when an enemy dies, it updates a resource that allows the player to build more towers

var tower = Instantiate(buildables[0], center, Quaternion.identity); var controller = tower.GetComponent<TowerController>(); controller.OnKilledEnemy += (sender, args) => {     int.TryParse(goldAmount.text.Replace(",", ""), out var curr);     curr += args.gold;     goldAmount.text = $  "{curr:n0}"; }; 

But if 2 enemies die in the same frame, wouldn’t the value there miss an update?

What ways are there in Unity/C# to mitigate this problem?