private void Test(string param)
{
Thread.Sleep(OneDay);
Submit(param);
}
これはコンソールアプリケーションです。スレッドが長時間スリープしても、paramがその値を失う可能性はありますか?スレッドが長時間スリープしているときに変数が値を失う
private void Test(string param)
{
Thread.Sleep(OneDay);
Submit(param);
}
これはコンソールアプリケーションです。スレッドが長時間スリープしても、paramがその値を失う可能性はありますか?スレッドが長時間スリープしているときに変数が値を失う
スレッドが長時間スリープした場合、paramが値を失う可能性はありますか?
param
がスタックにあり、実行が再開するとスタックからポップバックされます。
また、paramは不変です。変更可能な参照型の "内容"が変更される可能性は考えられますが、それは参照型の値とその "内容" –
いいえ。各スレッドには独自のスタックがあります。スレッドがスリープから復帰すると、スタックからの変数が使用されます。
なぜあなたはそれを考えますか? –
答えが「いいえ」であるにもかかわらず、コンピュータを再起動したり、プロセスが他の人に殺されたりして、システムリソースを1日消費するなどの心配が必要な場合は、1日中スリープ状態になるのではなく、 – Servy
コンピュータの高度が高い場合、宇宙線がスタックを破損する可能性があります。 –