覚書

あなたの仮説通り、スレッド作成コストと同期オーバーヘッドが重いです。
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