Во многих случаях при решении задач с помощью компьютера необходимо, чтобы два или более заданий исполнялись одновременно. Такой способ называется параллельным программированием. В параллельных программах постановка задачи осуществляется в виде нескольких частичных задач, которые способны выполняться параллельно. Очевидно, что программы протекают действительно ``параллельно'', если в наличии имеются как минимум 2 процессора. Однако, даже при использовании одного процессора можно получить определенные преимущества в производительности.