5

次の間に違い(パフォーマンス、実装など)はありますか?

私)

DllImport("kernel32.dll")]
        public extern static void Sleep(uint msec);

..次にスリープ関数を呼び出します

ii)

Thread.Sleep()
4

2 に答える 2

2

実際には大きな違いがあります。

このブログ投稿では、可能であれば、マネージスレッドがアンマネージブロッキングを実行してはならない理由を説明しています。公式のMSDNドキュメントには、基本的な詳細がすべてない同じガイドラインがあります。

PSThread.Sleepは、不十分に設計されたプログラムの兆候です

于 2011-03-01T14:54:25.347 に答える
-1

私はそうは思いません。どちらも現在のスレッドでのみ機能します。

ただし、同期されたタイミングに依存するプログラムは通常、外部構成が変更されたときに問題を引き起こすため、メインスレッドでスリープ機能を使用する場合は注意が必要です。

ただし、サポートスレッドまたはリスニングスレッドでSleepを使用することは、通常は問題になりません。

于 2011-03-01T10:14:55.223 に答える