Ditto the "Your 3 Year Old" book. It's a book series on EACH age and describes what they are like at each age set. I recommend it all the time.
Next, give your boy positive reinforcement... for anything he does that makes him happy and proud... even if to you it is nothing. Kids thrive on positive genuine attention, and need it. When my daughter was that age and had tantrums, I'd just hold her on my lap, talk calmly to her, and give her my undivided attention.. and LET HER talk to me about anything and her feelings. Kids need this. They need to learn how to express themselves and KNOWING that their Parent is honestly listening to them. They need feedback about their thoughts...
I'd even ASK my daughter "why" she is mad. And I'd be surprised at her answers. To an adult it is not valid, but to a little child.. it is a big deal. And MANY times... it CAN be the Parent that is triggering some bad mood in a child. I apologize to my kids when this happens and when THEY enlighten ME on "why" they are being a certain way...then I praise them for being ABLE to express themselves to me and not being afraid to. And it teaches a child that they CAN talk to their Parents no matter what, and that they won't just be "scolded" or disregarded for it.
I even tell my kids "thank you for sharing your thoughts with me, I appreciate it..."
This is a developmental "phase" or it can become a continuing difficulty, if his needs are unmet or if he does not learn about "feelings" and how to express himself. BOYS NEED to learn how to express themselves, no matter what.
When my kids are upset, I tell them it's okay, even grown ups get upset... but we will TRY to learn how to cope. Teach him positive "coping skills" to deflate his pent up emotions.... AND teach him how to be a "team" and that you are ALL ONE... no matter what. When he is upset, try telling him "Help Mommy..." and then just sit with him, hold him, and tell him you love him and 'need' him because you love him.
The thing is he seems mega frustrated... and has unmet needs or does not know how to manage his emotions. ALL NORMAL for this age. It is "growing pains" for a child... and for the Adult. The trick, is in helping him transition through this age.... for which Time-out and will not work in the long term. Only temporarily or in desperation.
Also, when my daughter was that age, I taught her the word "compromise" and "empathy." It bode well for her and she understood.
You might also try and get him a plant to take care of or 1 little guppy fish. Something special and "his" that he can take care of, in his own way. It does not have to be "perfect" but just to the extent that he is capable of. Let him name it and talk to it... or when he is upset. I could help his overall moods and how others view him. It MIGHT just trigger something in himself that is beneficial. It does for my kids.
My daughter, has a little angel figurine. And she talks to it with ANYTHING she feels whether angry or happy... and tells her angel her dreams and hopes. It's a real positive outlet for a child... and helps to direct them. Of course with the Parent talking to them about it and sharing their thoughts as well.
I know it's not easy... but 3 years old is a HARD age... they are changing SO SO much at this age. Its really not easy for them. They are still a "baby" but yet are expected to 'behave' like a "big boy" and it can be a lot of pressure and stress upon a child. Just go at his pace...
And, they can feel our stress too.
Good luck and all the best...
Susan