Also, ich versuch das mal zu erklären:
Multitasking = Multiprogrammierung = Mehrere Prozesse (quasi) gleichzeitig ausführen
Zum Prozess:
Stellen wir uns mal vor, eine Haushälterin möchte einen Kuchen backen. Dazu bräuchten wir die Zutaten (Ressourcen), ein Rezept (das Programm) und den Prozess (Die Haushälterin). Jetzt guckt die Haushälterin zuerst auf das Rezept (praktisch den Quellcode) und führt die nächste Anweisung aus. Dabei werden Ressourcen verbraucht und irgendwann ist die Haushälterin fertig, weil der Kuchen fertig ist. Folglich ist der Prozess fertig.
Ein Prozess unterliegt dem Sheduler des OS, also wenn das OS sagt, dass jetzt ein anderer Prozess die CPU belegen darf, dann wird der 1. Prozess angehalten und der 2. Prozess fängt an zu laufen.
Zum Thread:
Normalerweise hat ein Prozess einen Ausführungsfaden (unser Rezept), manchmal ist es jedoch besser, wenn man mehrere Ausführungsfäden in einem Adressraum (also dem des startenden Prozesses) quasi parallel ablaufen zu lassen, die, bis auf den gemeinsamen Adressraum, einzelne Prozesse wären.
Multithreading bezeichnet dann die Möglichkeit mehrere Threads in einem Prozess laufen zu lassen.
Falls dies hier nicht korrekt ist, bitte sagen!