私の主な機能はstd::this_thread::sleep_for(std::chrono::seconds(1))
で、2つのスレッドを作成して(std::thread
を使用)、1つのCPUコアを持っています。std :: this_thread :: sleep_for - このスレッドへのコンテキスト切り替えですか?
この間にメインスレッドに切り替わるコンテキストはありますか?あるいは、1秒後にメインスレッドへのコンテキスト切り替えが行われるでしょうか?私はそれがどのように動作するか分からない
...私は2つの可能性があると思う:
1)システムの何倍ものスイッチメインコンテキストに、それは時間がオーバーとスイッチではないことを確認した後、何もしませんし、別のスレッドに切り替えます 2)時間が経過するとコンテキストを切り替えるシステム割り込みがあります
スレッドがスリープしている場合は、OSがそのスレッドのタイムスライスをschedueleする必要はありません。 –
これは実装に依存する可能性が最も高いです。[この質問](http://stackoverflow.com/questions/17325888/c11-thread-waiting-behaviour-stdthis-threadyield-vs-stdthis-thread)も参照してください。 –