Wykorzystuje się to by rozłożyć pracę na kilka wątków. Można dzięki temu przyspieszyć działanie aplikacji, jej responsywność. Używałem tego np. gdy miałem w pętli do wykonania jakieś zadania, z czego część mogła trwać bardzo długo a część bardzo szybko, przy czym te szybkie miały krytyczne znaczenia a te długie mogły sobie popracować w spokoju. Przygotowujesz wtedy sobie pulę workerów i jakąś część z nich przeznaczasz na zadania jednego typu a inne na zadania innego typu. Synchronizację pomiędzy workerami można przeprowadzić np przy pomocy
kolejek i semaforów.