There is a reasonable discussion of how threading and fork
differ technically and philosophically at
Threads vs Forking (Java vs Perl).
In that discussion
KM came out with
Mr. Peabody
Explains fork() which is a very good starting place if you
just want to understand what
fork is and why it was
invented. (In fact I recommend reading it before my link.)