The ability of an
operating system to
execute different parts of a
program, called
threads, simultaneously. The
programmer must carefully design the program in such a way that all the threads can
run at the same time without interfering with each other.