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

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
せとこうじ

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

#1

投稿記事 by せとこうじ » 8年前

Pthreadでの並列処理を考えています.
生成されたスレッドが実行する関数の引数をスレッドローカルな変数として扱いたいのですが,可能ですか?

YuO
記事: 947
登録日時: 14年前
住所: 東京都世田谷区

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

#2

投稿記事 by YuO » 8年前

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

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

返信

“C言語何でも質問掲示板” へ戻る