我是pthread的新手,我已经完成了一些教程。教程说我只能将一个参数传递给线程中使用的函数。我通过使用一个结构将多个参数传递给线程解决了这个问题。但是现在进一步研究我得出结论,线程中的函数不能返回任何值,唯一的方法是使用全局变量。我真正需要的是,我需要在两个不同的线程中运行两个函数,一个函数的返回值需要另一个函数的输入,反之亦然。我该怎么做才能实现这个需求。提前致谢。是的,linux是平台。
答案 0 :(得分:4)
检查pthread_join()
。它会将值传递给pthread_exit()
。您可以尝试将值传递给pthread_exit()
,而不是从thread_function返回。
答案 1 :(得分:2)
线程的返回值是void *
。这可以作为pthread_join()
的第二个参数。另请参阅pthread_exit()
。