作者fantasywater (狂想)
看板LinuxDev
标题[问题]关於pthread的wait的用法
时间Fri Apr 13 11:16:10 2007
※ [本文转录自 C_and_CPP 看板]
作者: fantasywater (狂想) 看板: C_and_CPP
标题: [问题]关於pthread的wait的用法
时间: Fri Apr 13 10:52:29 2007
http://rafb.net/p/YODpk514.html
以上是我的程式码
这个程式的目的是要我先用child thread算出数列并存在阵列中
然後parent thread再去那个阵列把答案印出来
我已经写好了 但是执行的时候有时候会跑出答案
有时候不会 可是我觉得没有写错
因为我已经使用pthread_join(child_pid,NULL)让parent thread等待 child thread完成
再去阵列中把它印出来了 有时候好像不会执行parent_pid
请问我的作法错了吗 可否指正我错在哪里
编译环境是gcc
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.4.249
1F:→ fantasywater:我知道了 因为我没有join parent_pid 那可以解释一下 04/13 11:06
2F:→ fantasywater:为何一定要join 我不是已经exit吗 意义有何不同呢? 04/13 11:07
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.4.234
3F:推 CriLit:你的parent有可能在child还没计算完成就以先行印出.. 04/13 12:59
4F:推 yhuiyang:如同楼上所说, array shm 在 child thread (W) 与 parent 04/14 00:32
5F:→ yhuiyang:thread (R) 中的存取是 race condition 04/14 00:33
6F:→ yhuiyang:可以使用pthread_cond_signal()/pthread_cond_wait()解决 04/14 00:34
7F:→ yhuiyang:或是display工作交给main thread,这样可省parent thread 04/14 00:35
8F:→ fantasywater:谢谢 04/14 11:08
9F:→ minghaoo:请位楼主是否可以寄原始码给我参考,我也有同样的问题。 04/21 11:49