Ну что-то вроде этого я и имел ввиду. Надо учесть ряд моментов:
1. возможно, захочется юзать в потоке членов класса. Это нормально и стесняться тут нечего
надо, само собой передать в secthread указатель на Pinger (типа
pthread_create(&thread, NULL, secthread, this)).
2. Имей однако ввиду, что при 1. надо быть осторожным, трогая из основного потока содержимое Pinger. Сказав 'A', говори 'B'. Почти наверняка от синхронизации ты не отвертишься.
3. Естественно само собой разумеется надо в деструкторе мочить поток. Мочить можно по-плохому (man pthread_cancel) или по хорошему (послать так или иначе сообщение и ждать выхода с помощью pthread_join).
4. И если будешь юзать исключения, то try/catch должны быть в том же потоке, что и throw. Не знаю пока как в gcc, а в борландбилдере нарушение этого правила вызывало ужасные сообщения об ошибках.