2012-05-18 42 views
0

我是pthread的新手,我已经通过了一些教程。这些教程说,我只能将一个参数传递给线程中使用的函数。我通过使用一个将多个参数传递给线程的结构来解决这个问题。但现在进一步研究,我得出结论:线程中的函数不能返回任何值,唯一的办法就是使用全局变量。我真正需要的是,我需要两个函数在两个不同的线程中运行,一个函数的返回值需要另一个函数的输入,反之亦然。我该怎么做才能实现这个需求。提前致谢。是的,Linux是平台。从线程函数中返回一个值C

+1

如果一个线程需要另一个线程的返回值,那么...为什么需要多线程?看起来你可以用一系列的两个操作去。 – user1284631

回答

4

检查pthread_join()。它会给价值传递给pthread_exit()。您可以尝试将值传递给pthread_exit()而不是从thread_function返回。

2

线程的返回值是void *。这可以作为pthread_join()的第二个参数。另请参阅pthread_exit()