You can also try setting a timer for nap/quiet time. Tell him he needs to stay in bed for at least 45 minutes or whatever time you choose. When the timer goes off if he's not asleep yet he can get up.
Put him to bed for a nap /quiet time regularly in the afternoon . Tell him he doesn't have to sleep but he can stay quiet in his bed with a book until you tell him he can come out. Then when you have had a rest too you can do something with him to reward him.
My 3 year old acts out & drives me nuts when I get super busy & haven't spent as much time with him. When I'm ready for a break is usually when he needs me the most. If I take the time to sit & play games with him or even cuddle up & watch a movie, his behavior completely changes. His behavior changes are usually just his way of telling me I need to slow down & spend quality time with him.