zoukankan      html  css  js  c++  java
  • advacing lnux program Threads Return Value[copy]

    #include <pthread.h>
    #include <stdio.h>
    /* Compute successive prime numbers (very inefficiently). Return the
    Nth prime number, where N is the value pointed to by *ARG. */
    void* compute_prime (void* arg)
    {
    int candidate = 2;
    int n = *((int*) arg);
    while (1) {
    int factor;
    int is_prime = 1;
    /* Test primality by successive division. */
    for (factor = 2; factor < candidate; ++factor)
    if (candidate % factor == 0) {
    is_prime = 0;
    break;
    }
    /* Is this the prime number we’re looking for? */
    if (is_prime) {
    if (--n == 0)
    /* Return the desired prime number as the thread return value. */
    return (void*) candidate;
    }
    ++candidate;
    }
    return NULL;
    }
    int main ()
    {
    pthread_t thread;
    int which_prime = 5000;
    int prime;
    /* Start the computing thread, up to the 5,000th prime number. */
    pthread_create (&thread, NULL, &compute_prime, &which_prime);
    /* Do some other work here... */
    /* Wait for the prime number thread to complete, and get the result. */
    pthread_join (thread, (void*) &prime);
    /* Print the largest prime it computed. */
    printf(“The %dth prime number is %d.\n”, which_prime, prime);
    return 0;
    }

  • 相关阅读:
    【模板】并查集
    排队布局
    list
    js获取宽度
    js获取按键
    sublime 自定义快捷代码
    file
    git add Untracked files
    git branch
    git
  • 原文地址:https://www.cnblogs.com/michile/p/2890685.html
Copyright © 2011-2022 走看看