Threads, games and running on all CPU's

I’m currently creating a game where the player flies above a raging sea. The sea is a big part of the game so I’m trying to simulate it all (just in 2D) and have realistic waves etc. There’s also a fair amount of particles flying about that need to be accounted for. It’s just single threaded at the moment but runs fine (so far) on a fast processor (i5-3570K) but I’m pretty sure it will get unstuck on older processors. The obvious solution is to use separate threads but older, slower processors either have one or two cores so it seemed pointless going for too many threads.

Possible threads might be:

  • thread to play the game
  • thread to handle the sea, waves, splashes, general collisions
  • optional thread for sound?
  • thread to do initialisation and read/write high scores to the web

Would I do best with static arrays for those bits that are used by more than one thread? any other opinions?

Mike