single vs. multiple threads execution - How to speed up applications using threads in java