You could be describing my 10 yr old son!
But, I believe my son acts the way he does because of abuse that he was exposed to before he could talk. (my ex husband used to beat me up and there was constant yelling) because of all that, he sees a therapist now. She told me that his behavior indicates he is depressed. However, she said that everyone deals with anger in different ways. Some yell and scream, some clam up and retreat. You need to respect how he deals with being upset and not try to force him to talk to you about it. She also recommended deep breathing. When my son is upset, we drop everything else that is going on, and we have him take several SLOW deep breaths. In through the nose, out through the mouth, eyes closed. Sounds silly, and I didn't think my sons would go for it, but it helps tremendously. He feels a little silly sometimes doing it, but he always feels better afterwards, and is usually able to talk to me then. He also is the type that if he thinks his being upset, is upsetting me or my husband, or that we are upset at him because of how he is acting, then he clams up even more. You might want to consider taking him to a therapist, even for a few visits, to make sure there isn't something else going on that you aren't aware of.
What kind of thing 'sets him off' what happens prior to a tantrum has anyone said anything would upset him? has he older siblings , does he do okay at school ?