TheBlankBear1 2017-12-03 07:51 采纳率: 0%
浏览 805

线程 第一次创建返回11,已经在子线程·加了detach(贴一部分相关的,计算机网络实验)

while(true)
{
int ret = pthread_create(&t1,NULL,th,(void*)&listen1);
/*bind(listen1, (SOCKADDR )&myaddr, sizeof(myaddr));
listen(listen1, 5);
/

    if(ret!=0)
        {
        printf("create error:%d\n",ret);  
        exit(1);  
        } 
    pthread_cancel(t1);//等待线程退出
    }

    void* th(void *arg)

{
pthread_detach(pthread_self());
SOCKET acce ;

SOCKET listen1 = (SOCKET) arg;
SOCKADDR_IN friaddr1;

memset(&friaddr1, 0, sizeof(friaddr1));

int friaddr1Len = sizeof(friaddr1);

acce = accept(*listen1,(SOCKADDR *)&friaddr1, &friaddr1Len);

 char fmessage[100]={0};
 char textdata2[100]={0};
 recv(acce,fmessage, sizeof(fmessage), 0);
    printf("%s+3\n",fmessage);
 send(acce, textdata2, strlen(textdata2)+1, 0);
    printf("%s+4\n",textdata2);

pthread_exit(NULL);
return 0;
}

  • 写回答

1条回答

  • wanwan_1996 2017-12-04 00:49
    关注

    你确定pthread_cancel是等待线程退出吗? 那么pthread_join有事什么呢?既然以及进行了线程分离,为什么还要等待?

    评论

报告相同问题?

悬赏问题

  • ¥15 手机连接电脑热点显示无ip分配
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大