Question about Ver function fighting each other

So I have 2 functions, one is suspends function while the other is not. They are modifying the same persistence data.

I noticed in the situation where they are triggered almost the same time, the result of the variable became unstable. What is the best way to attack this issue?

Change both of them to be not suspends might work unless they still fight.
The other idea is doing it through event, if the are firing the same event, the function that is handling the event should be able to queue them up and do it 1 after the other instead of 2 in the same time or lost the second one?

try removing the suspends if possible, I suppose that will help keep order in how theyre executed