Для начала как остановить: самого себя или из другого треда, по условию или по достижению какого-то участка кода?
В общем:
man pthread_mutex_lock/pthread_mutex_unlock
man pthread_cond_wait
man pthread_rwlock_rdlock
man pthread_kill - особоенно pthread_kill(SIGSTOP, tid), pthread_kill(SIGCONT, tid)
etc...