a lot of things, for check whether all completed, use sem_wait() on all
jobs......so, each job has its own sem_t