N'fonctions du sommeil le sommeil de tous les threads ou tout simplement celui qui appeler?

Je suis de programmation avec pthread sur linux(Centos)? Je veux threads dormir un peu de temps à attendre quelque chose. Je suis en train d'utiliser sleep(), nanosleep(), ou usleep() ou peut-être quelque chose peut le faire. J'ai envie de demander: N'fonctions du sommeil le sommeil de tous les threads ou tout simplement celui qui appeler? Des conseils ou des références serait apprécier.

void *start_routine () {
    /* I just call sleep functions here */
    sleep (1); /* sleep all threads or just the one who call it? 
                  what about nanosleep(), usleep(), actually I 
                  want the threads who call sleep function can 
                  sleep with micro-seconds or mili-seconds.  
               */
    ...
}

int main (int argc, char **argv) {
    /* I just create threads here */
    pthread_create (... ...);
    ...
    return 0;
}

Mon programme de test:

#define _GNU_SOURCE
#include <pthread.h>
#include <stdio.h>
#include <stdlib.h>
#include <sched.h>
#include <unistd.h>
void *start_routine (void *j) {
unsigned long sum;
int i;
int jj;
jj = (int)j;
do {
sum = 1;
for (i=0; i<10000000; i++) {
sum = sum * (sum+i);
}
if (jj == 0) {
printf ("\033[22;33m[jj%d.%ld]\t", jj, sum);
sleep(1);           
}
else {
printf ("\033[22;34m[jj%d.%ld]\t", jj, sum);
}
}while (1);
pthread_exit((void *)0);
}
int main(int argc, char *argv[])
{
cpu_set_t cpuset;
pthread_t thread[2];
int i;
i = 0;
CPU_ZERO(&cpuset);
CPU_SET(i, &cpuset);
pthread_create (&thread[0], NULL, start_routine, (void *)i);
pthread_setaffinity_np(thread[0], sizeof(cpu_set_t), &cpuset);
i = 1;
CPU_ZERO(&cpuset);
CPU_SET(i, &cpuset);
pthread_create (&thread[1], NULL, start_routine, (void *)i);
pthread_setaffinity_np(thread[1], sizeof(cpu_set_t), &cpuset);
pthread_exit (NULL);
}
seul l'appelant
allez, allez vérifier sa question l'histoire. et c'est un seul revêtement pour une réponse
Je voulais dire "travail", pas de "mettre en garde". @bestsss - ce que pour vérifier? Je n'ai rien dit au sujet de cette question, j'ai même voté.
Pourquoi voulez-vous téléphoner à dormir?

OriginalL'auteur Nick Dong | 2012-08-11