Hey thanks all for your replies. I should clarify it wasn't a party -- it was a BBQ with our friends so there were 5 kids (their 3 my DS1 and my 8 year old niece - DS2 was at home sleeping with mum). Their kids all sat down to eat along with my niece but DS1 wouldn't.
I think it was the culmination of him being dobbed on all afternoon that tipped me over edge - not so much just him not eating. In hindsight I can see why it escalated in this instance. The girls were all playing tea parties and DS1 was ruining it. I know boys play differently and I should have suggested alternate activities but to be honest I just let him play and tried to have a bit of adult company. I'm a single mum so that's a rarity for me of late.
I can see the error of my ways. He told me even just today that he made his own feelings upset over not eating lunch on Sunday. He also had his cousin over the night before and it was a late night for him.
All of these reasons still didn't help me in the moment though. I completely lost my cool and I'm sure I looked like a right psycho making a big deal over nothing. I feel quite bad about it all now but it's been a good chance to reflect and take the time to help him operate a little better in public. He doesn't chuck tanties - just doesn't listen at the shops etc. and seems to be unable to just walk normally. It's like he bounces around, climbs whatever he can, it's like his life is a constant playground!!
He's always going to be a handful - it's just his personality, but I'm going to try minimize any further explosion from either of us :/ I don't want to take the fun out of him - I love his adventurous cheeky personality, but it's exhausting at times.