сабж. киньте ссылочкой на реализацию. платформа — x86. pthreads нельзя, надо или на ipcv, или на примитивах gcc. именно для многопоточной программы, между процессами не надо.
pthreads нельзя потому, что это SO для LD_PRELOAD.
по *алгоритмам* я и сам обученый. я код просил. который без pthread, и работает в многопоточной программе. с pthread у меня у самого есть давно.
а код я просил не потому, что ниасилю сам напилить, а потому, что если у кого такой есть — значит, там ньюансы, которые я буду долго колупать, уже разобраны. это не для работы, а для проектика «for fun», на который времени немного. пока я там сделал тупые лочки, но это дурные простои — пишется очень редко, читается часто. да и лочки с usleep() — моветон.
ну и кстати: каким вызовом можно отличить поток от процесса? только смотреть parent pid и на основе этого? а вдруг это форк всё-таки, а не клон?