DS never really tantrummed. Here's what I did to help minimise tantrumming:

Time warnings. DS is told that "we leave the park in ten minutes" then five, then "this is your last go". He may be upset when we leave, but it's anticipated so it's not so bad. I do have to carry him out the park half the time, but he's calm before we leave the field.

I tell DS what his emotions are. "You're frustrated because you wanted XYZ and you can't do that." I then offered a solution. That worked well.

At home, I tell him that asking for what he wants in English works wonders. It does. I let him have what he wants if it doesn't matter and he asks nicely. He wants a biscuit at ten to ten... why make him wait 10 minutes if it causes a fuss? Or say we'll have biscuits after we tidy up the trains... then it's not an arbitrary time thing. When I say no he can be upset, but he knows that no means no and screaming about it doesn't help: I tell him that too! I do ignore those tantrums.

Public tanties... I don't go. He's tantrumming because he wants to leave the supermarket half-way through the shopping. I tell him he can play in the trolley, help me, or look silly. He usually wants to help me, sometimes to sit in the baby seat. Again, I overlook behaviour that doesn't matter: he wants to spend five minutes picking a tin of tomatoes, fine. I could do it more quickly, but this way he gets to "help" and it increases his self-esteem.

My final tactic is a bit mean. I tell DS he has to stop some undesireable behaviour and come to me in 5, 4, 3, 2, 1. If he hasn't moved by 3 then I walk to him and after I say "1" then I pick him up and force him to do what I want. He's usually running away from me or playing with wires. I can now tell him to "stop the tantrum in 5, 4, 3... thank you for stopping screaming. Can we talk about it normally now?"