ページ 11

マルチスレッドが実行する関数の引数について

Posted: 2017年3月24日(金) 23:55
by せとこうじ
Pthreadでの並列処理を考えています.
生成されたスレッドが実行する関数の引数をスレッドローカルな変数として扱いたいのですが,可能ですか?

Re: マルチスレッドが実行する関数の引数について

Posted: 2017年3月25日(土) 00:03
by YuO
  • 関数の引数
  • ローカル変数
であるオブジェクトは,そのオブジェクトへのポインタを別のスレッドに渡すなどの方法で他のスレッドに知らせない限り,実行スレッドからのみアクセスできます。
thread_localとは意味合いが異なってしまいますが,他のスレッドと切り離されているという点においては同じ扱いになります。

ただ,当然ですが「『関数の引数であるポインタオブジェクト』が指し示すオブジェクト」は,他のスレッドと共有している可能性があります。
# これもthread_localと同じ。