Я не думаю, что есть большая разница между тем, что вы делали, и использованием pthreads, если честно. Если вы проделали значительную работу с потоками, у вас возникли все проблемы с блокировкой, синхронизацией и т. Д., И вы могли бы достаточно легко напрямую использовать вызовы pthreads. Единственная хитрость, от которой вы, вероятно, были изолированы, это завершение, получение кодов выхода из потоков и т. Д.
(Конечно, pthreads не так низко, как вы можете получить; если вы работаете в linux, посмотрите clone (), чтобы увидеть, как он действительно работает на уровне системных вызовов. Но никто на самом деле не использует это если они не реализуют pthreads.)