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