两个线程打印char

时间:2014-01-18 22:21:44

标签: c pthreads

我必须编写程序

  

“带来两个线程。第一个线程必须写char'a'30000   第二次'b'25000次。

我写了这个程序,但我不知道这是一个好结果。当我使用pthread_join(p,NULL)时,我预计首先会看到30000次b。我的程序写了一个和一个randomaly它是好还是不好?

#include<stdio.h>
#include<string.h>
#include<pthread.h>
#include<stdlib.h>
#include<unistd.h>

pthread_t f,s;
void* a(void *arg)
{
    int j;
    for(j=0;j<30000;j++) printf("a\n");
    return NULL;
}
void* b(void *arg)
{
    int u;
    for(u=0;u<25000;u++) printf("b\n");
    return NULL;
}


int main(void)
{
    int i = 0;
    int err;

        err = pthread_create(&f, NULL, &a, NULL);
        if (err != 0)
            printf("\ncan't create thread :[%s]", strerror(err));
        else
            printf("\n Thread created successfully\n");

        err = pthread_create(&s, NULL, &b, NULL);
        if (err != 0)
            printf("\ncan't create thread :[%s]", strerror(err));
        else
            printf("\n Thread created successfully\n");


    pthread_join(f, NULL);
    sleep(5);
    return 0;
}

0 个答案:

没有答案