覚書
あなたの仮説通り、スレッド作成コストと同期オーバーヘッドが重いです。
swap専用スレッド + 通知待機型の雛形(std::condition_variable)
std::mutex mtx;
std::condition_variable cv;
bool ready = false;
void swap_worker() {
while (true) {
std::unique_lock<std::mutex> lock(mtx);
cv.wait(lock, []{ return ready; }); // 条件待ち
// ここでswap処理
ready = false;
}
}
これならCPU 100%にならず、省エネで待機できます。
引用 ChatGPT