免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1403 | 回复: 2
打印 上一主题 下一主题

帮我看看是否是程序出错了多谢 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-05-27 19:54 |只看该作者 |倒序浏览
main(){

..........
  for(int t=0;t<NUM;t++){
   .........
    rc=pthread_create(&threads[t], NULL, butterfly,(void *)&thread_data_array[t]);
    .......
  }
...........
}
void *butterfly(void *threadarg)
{    thread_data  *mydata;
     int taskid,j,k,l;
     complex up,down,product;
     
     mydata=(thread_data *) threadarg;
     taskid = mydata->thread_id;
     j=mydata->first;
     k=mydata->second;
     l=mydata->third;
      。。。。。。。。。     
     printf("butterfly transfer!**[%d]**[%d]\n",taskid, get_proc_id());
     pthread_exit(NULL);
   }
pthread 得一个有关FFT得程序,不知是OS得问题还是我程序问题,就是老 rc=pthread_create(&threads[t], NULL, butterfly,(void *)&thread_data_array[t]);只能成功运行一次创建一个线程打印这行后printf("butterfly transfer!**[%d]**[%d]\n",taskid, get_proc_id());,程序就死了,不能返回主函数。

论坛徽章:
0
2 [报告]
发表于 2008-05-27 21:39 |只看该作者
不会是OS的问题

论坛徽章:
0
3 [报告]
发表于 2008-05-27 21:58 |只看该作者

回复 #2 Roemer 的帖子

我刚才插入一些点进行测试,在sched_yeild()中得SEM_LOCK(scheduler->seg);停止了,差异啊,整个MUTEK系统很庞大,都无从找起了。困惑
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP