In Multitasking, a single resource is used to process multiple tasks. In multiprogramming, multiple programs execute at a same time on a single device. Multithreading is an extended form of multitasking. In multiprocessing, multiple processing units are used by a single device.