计算线程运行的次数?

时间:2015-11-19 02:49:58

标签: c++ multithreading

例如,使用pthread_create创建两个线程,并且它们都打印“hello world”,我的问题是如何计算每个线程打印“hello world”的次数?

2 个答案:

答案 0 :(得分:2)

  

我的问题是如何计算多少次"你好世界"印刷的   每个帖子?

这样做的简单方法是在文件顶部声明一个全局原子计数器:

$accounts = $_POST["accounts"];
foreach ($accounts as &$account) {
    $parsed = parse_url($account);
    if (empty($parsed['scheme'])) {
        $account = 'http://' . ltrim($account, '/');
    }

}   
update_post_meta($post_id,'accounts',$accounts);

然后让每个线程在每次打印" hello world"时递增计数器(即++计数器)。然后在main()中,在所有线程都已连接之后,您可以打印出值计数器。

答案 1 :(得分:1)

我可以向你展示子线程将变量传递给主线程的代码;

void * thread_func(void *arg)
{
    int num = 10; //assume 'num' is the times that child thread  printed "hello world"
    pthread_exit((void *)num);
}

int main()
{
    pthread_t thread;
    void * tret;
    pthread_create(&thread,NULL,thread_func,NULL);
    pthread_join(thread,&tret);
    printf("%d\n",(int)tret);  
    return 0;
}