learn pthread and signal