This one has a lot of comparisons. More papers can be provided upon request. This is certainly viable and do-able. But you might hurt yourself in terms of portability. Also, writing your own IPC from scratch to go across machines would be painful at best.
Threads are great.
However, threads are complicated. Shared memory programming can get arbitrarily complicated. Pthreads is pretty much supported everywhere, but not always at the same level. Running threads across multiple machines is problematic as well. It's standardized, and exists on all platforms that you'd want to do parallel computing on, and is well supported.