次の間に違い(パフォーマンス、実装など)はありますか?
私)
DllImport("kernel32.dll")]
public extern static void Sleep(uint msec);
..次にスリープ関数を呼び出します
ii)
Thread.Sleep()
次の間に違い(パフォーマンス、実装など)はありますか?
私)
DllImport("kernel32.dll")]
public extern static void Sleep(uint msec);
..次にスリープ関数を呼び出します
ii)
Thread.Sleep()
実際には大きな違いがあります。
このブログ投稿では、可能であれば、マネージスレッドがアンマネージブロッキングを実行してはならない理由を説明しています。公式のMSDNドキュメントには、基本的な詳細がすべてない同じガイドラインがあります。
私はそうは思いません。どちらも現在のスレッドでのみ機能します。
ただし、同期されたタイミングに依存するプログラムは通常、外部構成が変更されたときに問題を引き起こすため、メインスレッドでスリープ機能を使用する場合は注意が必要です。
ただし、サポートスレッドまたはリスニングスレッドでSleepを使用することは、通常は問題になりません。