Earlybird. Try to ignore it, not easy I know. Appologise to those people around you. And wait it out.
The 2 hour tantrum that dd threw when she 6 (!)was when we were on holidays. It started on the beach, took all the time to get back to the carava and then continued while we were there. I had to appologise to the other holiday makers onthe campsite. They all said, 'That is OK , he is only little, we have all been there' and then I had to tell them it was my 6 year old and not her three year old brother!
She is getting over it, but we have had to be very firm with her. She knows that if she goes off on one she will come home, to her bed , instantly (talking about a tantrum not being upset you understand)
She went off on one about 6 months ago ina party and was removed. This pissed her off and initialy made things worse but it brought home the idea that there is acceptable behaviour and unacceptable behaviour. YOu have to be consistant, no matter what a pain it is (we wanted to stay in the pary)
One difficulty is that people who *don't have such a volitile child can find it hard to understand just how violent and disruptive these tantrums can be. I remember a very sweet friend of mine coming to pick up dd for school for me. DD was off on one as she had the 'wrong' coat (had left her other one in school), buy pick up time tantrum had been going for 45 minutes. Friend tried to jolly her along, and I told her that the best way to deal with it was to ignore her. Friend, being sweet continued to try to talk dd round. They left. Friend phoned me 45 minutes later and asked how I coped as she had never had to deal with anything like dd. In the end she had ignored her and it worked.
At its worst dd was having at least one a day, often more and they did go on for hours. We seem to be coming out of it now, thank god.