例如,使用pthread_create
创建两个线程,并且它们都打印“hello world”,我的问题是如何计算每个线程打印“hello world”的次数?
答案 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;
}