たとえば
int function()
{
int value = rand(); //ランダムな数を取得
for ( int i = 0; i < 100000; i++ ) //数百ミリ秒くらい待機
;
return value;
}
こんな関数を作成します。
これをマルチスレッドで同時に動かすとします。
例えばAというスレッドとBという2つのスレッドで同時に
function()を呼び出すとします。
この場合Aというスレッドを呼び出してvalueに100が代入されたとして、
その後forループで待機している間に
スレッドBからもfunction()が呼び出されvalueに200が代入されたとしたら、
スレッドAもスレッドBもfunctionの返す値はどっちも200になってしまうのでしょうか?
環境はWindowsXPでコンパイラはVisual Studio2005または2008を想定していますが、
一般的なCやC++の仕様ではこの場合の挙動はどうなるのでしょう?
No.1ベストアンサー
- 回答日時:
ローカル変数は呼び出しごとに異なる領域が割り当てられます。
だから大丈夫。再帰関数が定義できるのも同じ理由です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) 十進BASICでの再帰についての質問です。 2 2022/11/18 09:17
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- C言語・C++・C# C++のcase文の書き方 4 2023/02/24 20:50
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたい 6 2023/01/23 12:00
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VC++スレッドの正しい終了のさ...
-
マルチスレッドプログラム
-
スレッドの安全な終了のさせ方
-
sleep関数とは?
-
スレッドの監視方法について
-
gprofとスレッドについて
-
スレッドの終了はどうやるんで...
-
メインスレッドのPostMessageと...
-
複数スレッドを動作させるのに...
-
スレッドの終了の仕方
-
WaitForSingleObjectの使い方に...
-
LinuxでDoEvents()同等機能
-
Windows上で、シグナル(SIGTERM...
-
Macターミナルで実行中のプログ...
-
緯度、経度の 10進法と 60進法...
-
バックグラウンドのプロセスの...
-
TCP/IP通信時のサーバーからの受信
-
vba listviewにおけるtextのAli...
-
C言語で、メモリを解放しないで...
-
sil_rew_memのメモリアクセスに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VC++スレッドの正しい終了のさ...
-
WaitForSingleObjectの使い方に...
-
マイクロソフトedge で5チャン...
-
スレッドの安全な終了のさせ方
-
スレッドの終了はどうやるんで...
-
スレッドにて同一メモリの書き...
-
スレッドの監視方法について
-
マルチスレッドについて
-
スレッドの終了の仕方
-
Linuxでスレッド優先度って変え...
-
Windows上で、シグナル(SIGTERM...
-
LinuxでDoEvents()同等機能
-
待機関数(WaitForMultipleObjec...
-
VB2005 シリアル通信のClose処理
-
マルチスレッドプログラミング...
-
別スレッドからメインダイアロ...
-
_beginthreadexで生成したスレ...
-
msec単位のWait Timerが作れない!
-
マルチスレッドのスレッド数を...
-
.NetのBackgroundWorkerクラス...
おすすめ情報