0

私はpthreadを初めて使用し、いくつかのチュートリアルを実行しました。チュートリアルでは、スレッドで使用される関数に渡すことができる引数は1つだけだと言っています。複数の引数をスレッドに渡すための構造を使用して、問題を解決しました。しかし、さらに調査したところ、スレッド内の関数は値を返すことができず、それを行う唯一の方法はグローバル変数を使用することであるという結論に達しました。実際に必要なのは、2つの異なるスレッドで実行される2つの関数が必要であり、一方の関数の戻り値が他方の入力に必要であり、その逆も同様です。このニーズを実装するにはどうすればよいですか。前もって感謝します。そして、はい、Linuxはプラットフォームです。

4

2 に答える 2

4

チェックしてくださいpthread_join()。に渡される値を提供しますpthread_exit()pthread_exit()thread_functionから戻る代わりに、に値を渡してみることができます。

于 2012-05-18T05:35:43.470 に答える
2

スレッドの戻り値はvoid *です。これは、の2番目の引数として取り上げることができますpthread_join()。も参照してくださいpthread_exit()

于 2012-05-18T05:34:31.593 に答える