Definition: Multi-Threading is the ability of a CPU to execute several threads of execution apparently at the same time. CPUs are very fast at executing instructions. Modern PCs can execute nearly a billion instructions every second. Instead of running the same program for one second, the CPU will run one program for perhaps a few hundred microseconds then switch to another and run it for a short while and so on.
It's also possible for a program to have multiple parts that run at the same time (or appear to!). For example a background task could be responding to mouse input while a file is loaded into RAM and another task updates a progress bar on screen.

