It is very hard to do in fact some spammers are now even getting into employment sites, which are legit sites with good email addresses.
In order of practicality and effectiveness.
1.) Use one special email address, (mostly the one supplied to you by your internet provider) for only certain uses, this email is one you never want spam on, use it for friends and family and official work or employment only, never give it out to third party sites.
2.) Have another one or two you use for other stuff like forums sign up, online purchases, online games and music etc.
Either make these Gmail or yahoo etc etc, a third party email provider you can delete when it gets too heavily spammed.
3.) Use methods such as "spam filter" as provided by Thunderbird, select delete spam immediately in options. Outlook has a spam filter and so do many other email applications.
But remember these are NEVER 100% efficient, so that's why it is good to always have your "special" email address that will never get spammed.
4.) Sign up to an anti spam site, in some countries like Australia the government has set up anti spam sites that you forward your spam to their email address and they deal with it based on how many hits they get of the same kind, this is pretty good but not 100%.
But definitely a must.
5.) Buy antis spam software, which I have never done, because you still receive the spam it just removes it from view.
Hope this helps.