2012-05-18 91 views
0

我是pthread的新手,我已經通過了一些教程。這些教程說,我只能將一個參數傳遞給線程中使用的函數。我通過使用一個將多個參數傳遞給線程的結構來解決這個問題。但現在進一步研究,我得出結論:線程中的函數不能返回任何值,唯一的辦法就是使用全局變量。我真正需要的是,我需要兩個函數在兩個不同的線程中運行,一個函數的返回值需要另一個函數的輸入,反之亦然。我該怎麼做才能實現這個需求。提前致謝。是的,Linux是平臺。從線程函數中返回一個值C

+1

如果一個線程需要另一個線程的返回值,那麼...爲什麼需要多線程?看起來你可以用一系列的兩個操作去。 – user1284631

回答

4

檢查pthread_join()。它會給價值傳遞給pthread_exit()。您可以嘗試將值傳遞給pthread_exit()而不是從thread_function返回。

2

線程的返回值是void *。這可以作爲pthread_join()的第二個參數。另請參閱pthread_exit()