Я нахожу, что лучшая вещь для копирования целых структур каталогов rsync
# rsync -avP /path/to/source/* /path/to/destination/
Это также имеет преимущество, что Вы можете к нему к или от удаленного каталога до ssh.
Оценка по вопросу, Вы излагаете Вас, вероятно, не видела проблем, где Потоки обеспечивают преимущество перед стандартными процессами.
Существуют проблемы как Высокочастотный трейдинг, например, где система становится чувствительной к количеству контекстных переключений в системе, а также переключающийся от пользователя к привилегированному режиму и назад. В этой способности к случаю работать в единственном пространстве памяти и иметь легкие контекстные переключения или никакие контекстные переключения вообще дают увеличения производительности достаточно для волнения об этом. Кроме того, если у Вас есть несколько процессов, обрабатывающих поток данных, прибывающих в Вас, не хотят реализовывать диспетчера, копирующего данные в доступный процесс, так как необходимо будет создать очереди в общей памяти или использовать основанный на сети IPC для копирования данных от и до различных пространств памяти процессов, тогда как с потоками Вы читаете и анализируете данные однажды и сохраняете их внутренне, где любой поток может получить доступ к тому конкретному событию, по мере необходимости делающему выполнение это намного быстрее.
Кроме того, существуют задачи, которые могут управлять теми же данными в разное время или то же время, в этом случае становится намного легче удостовериться, что Вы не растаптываете по обновлениям от другого процесса обновления (поток).
Учитывая их и намного больше проблем, где единственное пространство процесса становятся выгодными, Вы видите необходимость потоков. Теперь насколько Pthreads заинтересованы. Вы не должны использовать их, но они обеспечивают стандартизацию и следовательно мобильность исходного кода через платформы.
Править
Исходный вопрос, кажется, упоминает LinuxThreads, который реализовывал Потоки полностью на Уровне пользователя, и на Уровне ядра должен был быть обработан как процессы, потому что это было единственное ядро schedulable доступные объекты. С 2,6 ядер это больше не имеет место. NPTL реализует потоки на уровне ядра как schedulable объекты.
Можно также посмотреть на подобный вопрос на StackOverflow