热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

将线程输出保存在变量中

我有简单的客户端服务器应用程序。我正在使用线程。这是我的线程示例。void

我有简单的客户端/服务器应用程序。我正在使用线程。
这是我的线程示例。

void * thread2()
{
val1 = 6*a*a;
val2 = a*a*a;
printf("va1 = %f \n",va1);
printf("val2 = %f \n",val2);
}

这就是我在服务器中调用它的方式

// LEVEL 3
if(level == 3){
int status;
pthread_t tid1,tid2,tid3,tid4;
pthread_create(&tid1,NULL,thread1,NULL);
pthread_join(tid1,NULL);
pthread_create(&tid2,thread2,NULL);
pthread_join(tid2,NULL);
pthread_create(&tid3,thread3,NULL);
pthread_join(tid3,NULL);
pthread_create(&tid4,thread4,NULL);
pthread_join(tid4,NULL);
level = 4;
}

问题在于,所有内容都打印在服务器上而不是聊天中,我不知道如何在send()函数中使用它

这是我的send()函数的示例

s = send(newSocket,msg2,sizeof(msg2),0);

就像我如何将变量的输出保存在变量之类的东西中。感谢您的帮助。



您可以将参数传递给您正在调用的线程。如果需要传递多个参数,请使用一个包含所有参数的结构。如果您通过引用传递,则可以在线程完成之后将结果取回。

请参见this帖子,第一个答案。

您要传递的结构中应包含一个布尔值 execute ,这样,您就可以在主函数中检查线程是否已完全执行,因此您无需提取尚未设置的值。

,

如果我理解正确,那么您实际上想保存线程的输出,将其输出到“聊天”而不是您所说的“服务器”中。尝试简单地将stdout修改为您正在谈论的聊天。检查dup系列的重定向。


推荐阅读
author-avatar
周笨笨真笨
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有