A type of programming that focuses on writing programs that can run multiple processes or threads simultaneously.