Is Physics calculation multithreading possible?
Generally speaking, multithreading for physics simulations is only possible for part of the calculations and often quite difficult to implement. This has two main reasons:


Simulations have to run sequentially: you cannot calculate the results of frame N before you have the results of frame N-1. This means you cannot split up frames across many workers.
Elements of a physical system often interact a lot, through forces, collisions and the like. This makes it also difficult to divide the work spatially, giving subsets of grid cells, vertices, hair strands etc. to separate workers. Processes have to exchange information on stepping results frequently, reducing the efficiency of multithreading. Even where such division of work is possible, the process of dividing elements into suitable packages is far from simple (see e.g. section 4 in this paper on hair sim in 'Brave')


By comparison, rendering is ideally suited for threading, because


All the data is available in each frame, so splitting by frames is possible.
Samples (in a raytracer) are independent from each other, so tiling is also possible.