How to take full advantage of multi-core cpu?

I noticed when I run any of my java application(where a single thread does most cpu intense work) in the Intel core-duo computers,
the cpu usage never exceeds 50%. My question is how do I use the other 50%? Creating 2 threads to equally handle the work?

have a look at Executors, and look for canidates for callable there a lots of ways.